一般而言,連結路徑的表達有三種方式:絕對路徑、相對路徑和基於根目錄的路徑。另外對於ASP.NET伺服器控制項來說,還可以使用「~」來取代根目錄來表示。
在MasterPage和使用者控制項中,經常要使用一些圖片作為背景或漂亮的按鈕,但是在指定圖片的src或background時候,經常因為連結路徑的問題而出錯。
1.使用絕對路徑:使用形如「D:xxxxxx.gif」的絕對檔案路徑一般情況下是不可取的。可以考慮採取url的方法,寫成http://www.xxx.net ,如果有一天網站更該那麼,在設計時讓圖片可見,我們該怎麼來處理呢?我採用了CSS來完成這項工作。針對要顯示圖片的元素和控件,我們可以寫一段簡單的css來定位圖片,因為css文件的位置是一般不會改變的(位於App_Theme/themename/xxx.css),這種方法也就行之有效了。
.HideBar
{
height:56px;
width:5px;
cursor:hand;
background-image: url(../../images/xxx.gif);
}接下來我們只需要在對應的元素和控制項的cssclass中填入HideBar,就可以做到每個繼承MasterPage或使用使用者控制項的頁面都能正確顯示圖片了。
我想應該還有它更好的辦法,也希望有人能指點一二。
——Robin Lu's Blog