如何在C#中获取当前页面的URL
这个问题在这里已经有了答案:
尝试这个 :
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string host = HttpContext.Current.Request.Url.Host;
// localhost
您有时可能需要从URL获取不同的值。
以下示例显示了提取URL的不同部分的不同方式
示例:(示例URL)
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
码
Response.Write("<br/> " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery);
OUTPUT
localhost
localhost:60527
60527
/WebSite1test/Default2.aspx
/WebSite1test
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString1=2
/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
你可以复制粘贴上面的示例代码,并使用不同的URL在asp.net web表单应用程序中运行它。
我还建议您阅读ASP.Net路由,以防您可能使用ASP路由,那么您不需要在查询字符串中使用传统URL。
http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx
感谢Canavar的帖子,这是我的解决方案。
如果你有这样的事情:
"http://localhost:1234/Default.aspx?un=asdf&somethingelse=fdsa"
或者像这样:
"https://www.something.com/index.html?a=123&b=4567"
而你只需要用户输入的部分,那么这将工作:
String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");
这将导致这些:
"http://localhost:1234/"
"https://www.something.com/"
链接地址: http://www.djcxy.com/p/21411.html
上一篇: How to get the URL of the current page in C#
下一篇: Unit test controller