为什么HttpContext.Current.Request.Url.AbsolutePath返回一个空字符串?
问题描述:
当用户请求http://localhost/WebApp1/Default.aspx
时,txtApplicationPath.Text
应分配“/WebApp1”
,而txtAbsolutePath.Text
应分配“http://localhost/WebApp1/Default.aspx”
,但两个文本框都显示空字符串。为什么HttpContext.Current.Request.Url.AbsolutePath返回一个空字符串?
为什么?
的Default.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>
谢谢
如果你想完整的URL,你应该使用Request.Url.OriginalString
答
,因为AbsolutePath会忽略URL的主机部分。
我有同样的结果。如果你在代码隐藏中填充那些文本框而不是标记,它会起作用。 – DOK 2010-10-06 19:59:08
Ups,因为它没有工作是因为我忘记调用Page.Databind – user437291 2010-10-06 20:12:57