ASP.NET網站中獲取當前虛擬目錄的應用程序目錄的方法(轉)

[原創]ASP.NET網站中獲取當前虛擬目錄的應用程序目錄的方法

ASP.NET網站中獲取當前虛擬目錄的應用程序目錄的方法
1.問題描述:
有時候,某個網頁控件會被不一樣目錄下文件使用,此時若是該控件中有一個相對連接,那麼該連接就會出現問題。
好比應用程序虛擬目錄MyApp根目錄有個Template.ascx用戶控件文件,該文件有個鏈接到應用程序根目錄的網頁link.aspx。
若是Template.ascx中的連接直接寫成href="link.aspx",那麼在應用程序下級子目錄中某個文件Test.aspx中包含Template.ascx控件,此時點擊連接則會尋找該子目錄下的link.aspx,這樣顯然是錯誤的。同理若是用"./"或"../"都是行不通的。
2.解決方案
爲了解決這個方法能夠直接用絕對目錄href=「/MyApp/link.aspx"來代替,可是這個方法若是移植到其餘不一樣名的虛擬後就會失效了,所以須要一個更好的方法。
該方法就是用Request.ApplicationPath動態獲取當前虛擬目錄,方法以下
href="<%=Request.ApplicationPath%>/link.aspx"
這樣,不管從何處訪問都會返回當前虛擬目錄下的link.aspx。html

相關文章
相關標籤/搜索