【问题标题】:Why does HttpContext.Current.Request.Url.AbsolutePath return an empty string?为什么 HttpContext.Current.Request.Url.AbsolutePath 返回一个空字符串?
【发布时间】:2010-10-07 07:28:59
【问题描述】:

当用户请求http://localhost/WebApp1/Default.aspx 时,应将txtApplicationPath.Text 分配给“/WebApp1”,而应将txtAbsolutePath.Text 分配给“http://localhost/WebApp1/Default.aspx”,但两个文本框都显示空字符串。

为什么?

默认.aspx:

<asp:TextBox ID="txtApplicationPath" runat="server" 
    Text='<%# HttpContext.Current.Request.ApplicationPath %>'>
</asp:TextBox> <br />
<asp:TextBox ID="txtAbsolutePath" runat="server" 
    Text='<%# HttpContext.Current.Request.Url.AbsolutePath %>'>
</asp:TextBox> 

谢谢

【问题讨论】:

  • 我得到了同样的结果。如果您在代码隐藏而不是标记中填充这些文本框,它将起作用。
  • Ups,它不起作用的原因是我忘记调用 Page.Databind

标签: asp.net iis-7


【解决方案1】:

如果你想要完整的 url,你应该使用 Request.Url.OriginalString,因为 AbsolutePath 会省略 url 的主机部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2013-10-22
    • 2021-10-09
    • 2013-04-09
    相关资源
    最近更新 更多