母板页中的图片路径及页面链接路径设置
昨天寫好一個應用程序,在localhost跑都OK的,發布到IIS后,別人一訪問圖片不顯示,超鏈接的指向都找不到頁面,
F12一看,路徑都有問題,不會吧,我寫的都是相對地址啊。
?
母版頁中的圖片我用的都是img,鏈接用的是a,
于是第一種方法就是將它們換成服務器端控件,加個runat="server",
這個解決辦法會起作用是因為ASP.NET根據這一信息創建一個HtmlImage服務器控件,這個對象在母版頁的Page對象實例化后創建,
此時,ASP.NET把所有路徑解釋為相對于母版頁的位置。你可以使用同樣的技術來修復<a>標簽對其他頁面的鏈接。
?
你還可以使用根路徑語法,并用"~"字符作為URL的開頭。
例如,下面這個<img>標簽如果前面加"~/",則毫無歧義地指向網站的images文件夾中的butClose.gif文件。
遺憾的是,這種語法只對服務器端控件有效。
如果你要對普通的HTML產生同樣的效果,你需要在鏈接里包含域名的完整的相對路徑。這樣的HTML代碼難看且不可移植,所以不推薦使用。
<a runat="server" href="~/Data/xhEditorDemo.aspx">xhEditor</a><img id="barImg" runat="server" src="images/butClose.gif" alt="關閉/打開左欄"/>
如果嫌換成服務器端后寫js腳本時ID寫起來麻煩,
就用第二種方法ResolveUrl,如:
<img id="barImg" src='<%=ResolveUrl("images/butClose.gif")%>' alt="關閉/打開左欄" />母版頁中引入CSS或JS文件,也類似這樣用:
<script src='<%=ResolveUrl("js/jquery-1.4.4.min.js")%>' type="text/javascript"></script>另外一種是在masterpage里某處使用了background: url(...)這樣的寫法,
不廢話,直接移到外部CSS文件中,最好CSS文件夾,images文件夾,masterpage文件三者在同一目錄下(根目錄),
剩下就是引入這個CSS文件,把你剛才寫background: url(...)的地方換成class="..."。
然后問題應該就解決了,是滴吧!
轉載于:https://www.cnblogs.com/pfs1314/archive/2011/11/10/2244430.html
總結
以上是生活随笔為你收集整理的母板页中的图片路径及页面链接路径设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python生成Windows可执行ex
- 下一篇: java 打包jar文件以在没有安装J