當嵌套母版頁(yè)的子頁(yè)面與母版頁(yè)不在同一級目錄時(shí),往往會(huì )牽涉到外部圖片、js、css文件引用的路徑問(wèn)題。(以下是引用別人加自己整理)
1. 圖片、<a>標簽
非常好解決
<img runat="server" src='~/images/log.gif'></script>
<a href='~/book/buy.aspx' runat="server"></a>
加上runat="server" ,路徑使用絕對路徑~/基本上就OK了。
2. CSS文件引用
<link rel="stylesheet" type="text/css" href='style.css'></script>
這里神奇的就是link的文件的href是隨著(zhù)被訪(fǎng)問(wèn)文件的目錄結構自動(dòng)調整,說(shuō)白了就考慮母版頁(yè)引用的路徑就可以了,其他不用費心。
比如在母版頁(yè)同目錄下的一個(gè)文件夾內的一個(gè)xxx.aspx引用的母版頁(yè),那么上面的語(yǔ)句在客戶(hù)端就自動(dòng)變?yōu)?/span>
<link rel="stylesheet" type="text/css" href='../style.css'></script>
前提就是<head runat="server"></head>必須有runat="server"
3. JS文件的引用
<script type="text/javascript" src='menu/jquery.min.js'></script>
這樣的話(huà)在其他目錄下的頁(yè)面文件,客戶(hù)端肯定就引用不到了
那么你需要這樣處理
<script type="text/javascript" src='<%=ResolveUrl(“menu/jquery.min.js”) %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl(“'menu/jquery.min.js”) %>'></script>
這是2種方式,在客戶(hù)端的路徑當然也會(huì )不一樣,分別是:
<script type="text/javascript" src='/Example/menu/jquery.min.js'></script>
<script type="text/javascript" src='menu/jquery.min.js'></script>
那么很明顯ResolveClientUrl是相對路徑,是比較好用的,當然ResolveUrl也有很多地方需要這樣的絕對路徑,其中Example是web應用的名字。
另外,如果不可用請在<head>標記中添加:runat="server"
當子頁(yè)面需要引用自己的css、js外部文件時(shí),可以在母版頁(yè)的<head runat="server" ></head>標記中加添加一個(gè)標簽
<asp:contentplaceholder runat="server" id="HeadContent" >
</asp:contentplaceholder>
子頁(yè)面可在此標記中加入自己需要引用的文件
<asp:Content ID="Content2" ContentPlaceHolderID="HeadContent" Runat="Server"> <link rel="stylesheet" href="css/thickbox.css" type="text/css" /> <link rel="stylesheet" href="http://www.cnblogs.com/css/common.css" type="text/css" /> <script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
聯(lián)系客服