ASP.NET MasterPage 中圖片路徑的解決辦法!

來源:互聯網
上載者:User
一般而言,連結路徑的表達有三種方式:絕對路徑、相對路徑和基於根目錄的路徑。另外對於ASP.NET伺服器控制項來說,還可以使用“~”來代替根目錄來表示。
在MasterPage和使用者控制項中,經常要使用一些圖片作為背景或漂亮的按鈕,但是在指定圖片的src或者background時候,經常因為連結路徑的問題而出錯。
1.使用絕對路徑:使用形如“D:\xxx\xxx.gif”的絕對檔案路徑一般情況下是不可取的。可以考慮採取url的方法,寫成http://xxxx/xx/xxx.gif”。但是缺點是不利於移植,例如現在網站的地址為http://www.xxx.net,如果有一天網站更該http://www.xxx.com,則所有的連結地址都失效,需要變更,難以維護。
2.使用相對路徑:使用相對於頁面位置的路徑,比如“..\images\xxx.gif”,這樣MasterPage和使用者控制項中都能正確顯示,但是如果將繼承MasterPage的頁面放到不同的檔案夾下,或者使用使用者控制項的頁面不在同一檔案夾,那麼該頁面又會找不到正確的圖片位置了!
3.基於根目錄的路徑:形如:<a href="/xxx/xxx.gif">這樣的解決方案在ASP.NET2.0調試的時候,因為沒有建立虛擬目錄,並不能正確顯示(我也不是很肯定,沒有確認^_^)。而我在非伺服器控制項的HTML標籤元素上無法使用“~”來指定路徑。
那麼,在設計時讓圖片可見,我們應該怎麼來處理呢?我採用了CSS來完成這項工作。針對要顯示圖片的元素和控制項,我們可以寫一段簡單的css來定位元影像片,因為css檔案的位置是一般不會改變的(位於App_Theme/themename/xxx.css),這種方法也就行之有效了。
接下來我們只需要在相應的元素和控制項的cssclass中填入HideBar,就可以做到每個繼承MasterPage或使用使用者控制項的頁面都能正確顯示圖片了。
我想應該還有其它更好的辦法,也希望有人能指點一二。 .HideBar
{
    height:56px;
    width:5px;
    cursor:hand;
    background-image: url(../../images/xxx.gif);        
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.