如何在C#中获取当前页面的URL

这个问题在这里已经有了答案:

  • 在代码隐藏中获取ASP.Net页面的URL 10个答案

  • 尝试这个 :

    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