程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET MasterPage 中圖片路徑的解決辦法

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

編輯:.NET實例教程
     一般而言,鏈接路徑的表達有三種方式:絕對路徑、相對路徑和基於根目錄的路徑。另外對於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),這種方法也就行之有效了。
  .HideBar
  {
   height:56px;
   width:5px;
   cursor:hand;
   background-image: url(../../images/xxx.gif);
  }接下來我們只需要在相應的元素和控件的CSSclass中填入HideBar,就可以做到每個繼承MasterPage或使用用戶控件的頁面都能正確顯示圖片了。
  我想應該還有其它更好的辦法,也希望有人能指點一二。
  
  ——Robin Lu's Blog 
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved