使用波浪号(〜)标记从URL获取完整url
我试图得到一个典型的asp.neturl开始与波浪符号('〜')parsing成一个完整的确切的URL以“http:”开始
我有这个string“〜/ PageB.aspx”
我想使它成为“ http://myServer.com/PageB.aspx ”
我知道有几种方法来parsingURL和获得不同的服务器和应用程序path等。 我尝试了几个,但没有得到我想要的结果。
如果您处于页面处理程序中,则始终可以使用ResolveUrl
方法将相对path转换为特定于服务器的path。 但是,如果您想要“http://www.yourserver.se”部分,则必须在其中添加;Request.Url.Scheme
和Request.Url.Authority
。
试用
System.Web.VirtualPathUtility.ToAbsolute("yourRelativePath");
在ASP.NET中有各种可用的方法,我们可以使用它们来parsing服务器端资源的相对path,并使其在客户端可用。 我知道4种方式 –
1) Request.ApplicationPath 2) System.Web.VirtualPathUtility 3) Page.ResolveUrl 4) Page.ResolveClientUrl
好文章: 解决ASP.NET中的URL的不同方法
string.Format("http://{0}{1}", Request.Url.Host, Page.ResolveUrl(relativeUrl));
这个方法对我来说是最好的。 没有string操作,它可以容忍相对或绝对URL作为input,它使用与当前请求使用的完全相同的scheme,权限,端口和根path:
private Uri GetAbsoluteUri(string redirectUrl) { var redirectUri = new Uri(redirectUrl, UriKind.RelativeOrAbsolute); if (!redirectUri.IsAbsoluteUri) { redirectUri = new Uri(new Uri(Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath), redirectUri); } return redirectUri; }
- 要调用此方法,“Membership.Provider”属性必须是“ExtendedMembershipProvider”的实例
- 名为“x”的路由已经在路由集合中。 路由名称必须是唯一的。 ASP.NET MVC 3的exception
- MVC 5项目和Web Api项目的区别
- 使用iPhone UIWebView的Asp.Net Forms身份validation
- dynamicMySQL数据库连接entity framework6
- 在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决scheme是什么?
- 为什么在Windows 2012 Server上Azure部署比在Windows 2008 Server上慢
- 在cookie中存储密码是否安全?
- Json.NET序列化具有根名称的对象