2010-10-06 130 views
1

当用户请求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
+1

我有同样的结果。如果你在代码隐藏中填充那些文本框而不是标记,它会起作用。 – DOK 2010-10-06 19:59:08

+1

Ups,因为它没有工作是因为我忘记调用Page.Databind – user437291 2010-10-06 20:12:57

回答

2

,因为AbsolutePath会忽略URL的主机部分。

相关问题