首页  ·  知识 ·  云计算
母版页中引用图片、外部js、css文件的路径问题
网友    综合  编辑:dezai   图片来源:网络
当嵌套母版页的子页面与母版页不在同一级目录时,往往会牵涉到外部图片、js、css文件引用的路径问题。

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是随着被访问文件的目录结构自动调整,说白了就考虑母版页引用的路径就可以了,其他不用费心。 

比如在母版页同目录下的一个文件夹内的一个xxx.aspx引用的母版页,那么上面的语句在客户端就自动变为   

<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>      

这样的话在其他目录下的页面文件,客户端肯定就引用不到了     

那么你需要这样处理     

<script type="text/javascript" src='<%=ResolveUrl(“menu/jquery.min.js”) %>'></script>    

<script type="text/javascript" src='<%=ResolveClientUrl(“'menu/jquery.min.js”) %>'></script>  

这是2种方式,在客户端的路径当然也会不一样,分别是:    

<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" 

当子页面需要引用自己的css、js外部文件时,可以在母版页的<head runat="server" ></head>标记中加添加一个标签

<asp:contentplaceholder runat="server" id="HeadContent"  > 

</asp:contentplaceholder>  

子页面可在此标记中加入自己需要引用的文件

</asp:Content

<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>

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读