母版頁和相對路徑

2022-09-16 05:30:14 字數 945 閱讀 5143

乙個經常讓開發人員疑惑的問題是母版頁是如何處理相對路徑的。如果你使用的是靜態文字,這一問題不會困擾你。不過,如果你加入了

標籤或者指向其他資源的html標籤,問題就可能發生。

當你把母版頁和內容頁放在不同的目錄時,問題就發生了。把母版頁和內容頁分放到不同的目錄,這是大型**推薦使用的最佳實踐。實際上,微軟建議你在專門的資料夾裡儲存所有的母版頁。不過,如果你不夠小心,使用相對路徑時會帶來問題。

例如,假設你把母版頁放在乙個叫做masterpages的子資料夾裡,並在母版頁裡加入了如下的

標籤:假設檔案\masterpages\banner.jpg存在,這看起來是行得通的。甚至在visual

studio設計環境會出現。但是,如果你在另乙個子資料夾裡建立了乙個內容頁,路徑就會被解釋成相對於那個資料夾。如果檔案在那裡不存在,就會得到

這樣的問題之所以會

發生,是因為

標籤是普通的html。所以,asp.net不會接觸到它。遺憾的是,當asp.net建立

內容頁的時候,這個標籤就不合適了。相同的問題出現在向其他頁面提供相對鏈結的標籤以及用來把母版頁鏈結到樣式表

的元素。

要解決這一問題,你可以預先把url寫成相對於內容頁面的位址。不過這會帶來混淆,限制母版頁使用的範圍,並且產生在設計環境裡不正確顯示母版頁的負面效應。

這個解決辦法會起作用是因為asp.net根據這一資訊建立乙個htmlimage伺服器控制項。這個物件在母版頁的page物件例項化後建立,此時,asp.net把所有路徑解釋為相對於母版頁的位置。你可以使用同樣的技術來修復標籤對其他頁面的鏈結。

你還可以使用根路徑語法,並用"~"字元作為url的開頭。例如,下面這個

標籤毫無歧義地指向**的masterpages資料夾中的banner.jpg檔案。

我用的js載入的,應該去掉src前面的../,因為在生成的時候編譯器會把的路徑編譯成../的形式,再加上之前已有的../,就會出現錯誤。

母版頁和相對路徑

乙個經常讓開發人員疑惑的問題是母版頁是如何處理相對路徑的。如果你使用的是靜態文字,這一問題不會困擾你。不過,如果你加入了 當你把母版頁和內容頁放在不同的目錄時,問題就發生了。把母版頁和內容頁分放到不同的目錄,這是大型 推薦使用的最佳實踐。實際上,微軟建議你在專門的資料夾裡儲存所有的母版頁。不過,如果...

母版頁和相對路徑

乙個經常讓開發人員疑惑的問題是母版頁是如何處理相對路徑的。如果你使用的是靜態文字,這一問題不會困擾你。不過,如果你加入了 當你把母版頁和內容頁放在不同的目錄時,問題就發生了。把母版頁和內容頁分放到不同的目錄,這是大型 推薦使用的最佳實踐。實際上,微軟建議你在專門的資料夾裡儲存所有的母版頁。不過,如果...

母版頁和相對路徑

乙個經常讓開發人員疑惑的問題是母版頁是如何處理相對路徑的。如果你使用的是靜態文字,這一問題不會困擾你。不過,如果你加入了 當你把母版頁和內容頁放在不同的目錄時,問題就發生了。把母版頁和內容頁分放到不同的目錄,這是大型 推薦使用的最佳實踐。實際上,微軟建議你在專門的資料夾裡儲存所有的母版頁。不過,如果...