1. 程式人生 > >母版頁中<%=ResolveUrl() %>

母版頁中<%=ResolveUrl() %>

服務器 兩種 gpo url dex ref log spa .aspx

  假設母板頁在根目錄下,內容頁abc.aspx在目錄xyz下,abc.aspx繼承母板頁,菜單項Index.aspx在根目錄下。

  如果母板頁的菜單鏈接這麽寫:

    <a href="Index.aspx" >首 頁</a> 或這麽寫: <a href="~/Index.aspx" >首 頁</a>

  那麽在根目錄下繼承了母板頁的內容頁點擊“首頁”訪問是沒有問題的。但在xyz目錄下的abc.aspx頁面中點擊“首頁”時,則菜單項鏈接默認為“xyz/index.aspx"。但index.aspx實際是在根目錄下的,則點擊後就會出錯,提示找不到Index.aspx頁面。

  為解決這個問題,母板頁的菜單鏈接正確的寫法是:

    <a href="<%=Page.ResolveUrl("~/Index.aspx") %> ">首 頁</a>

  其中Page.ResolveUrl("~/Index.aspx") 相當於“在網站根目錄中查找網頁Index.aspx”

  圖片鏈接則有兩種寫法:

  1.跟上面的鏈接一樣:

    <img src="<%=Page.ResolveUrl("~/image/in01.jpg" )%>" />

  2.在img控件加上runat="server",服務器會自動判斷路徑,比如:

    <img src="image/in01.jpg" runat="server" />

母版頁中<%=ResolveUrl() %>