2010-10-06 2 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> 

спасибо

+1

У меня был такой же результат. Он будет работать, если вы заполняете эти текстовые поля в коде вместо разметки. – DOK

+1

Упс, причина, по которой это не сработало, потому что я забыл позвонить PageDatabind – user437291

ответ

2

если вы хотите полный URL, вы должны использовать Request.Url.OriginalString, потому что AbsolutePath опускает хост часть URL.