在母版页处理js、css、img等相对路径问题

作者: harde 分类: DotNet 发布时间: 2011-05-25 10:20

母版页是个很方便的东西,不过假如你在母版页使用了

<script src="js/js.js" type="text/javascript"> 

这样的相对路径

子页面和母版页在同一目录倒是可以,但是一旦有了子目录层次就会发现,找不到文件了~

解决方法其实比较简单
一、图片与超级链接(Image、HyperLink)
首先对于普通的img、a标签,可以添加runat=”server”属性来让.net自行处理,或者干脆使用image与hyperlink服务端控件

<img src="images/demo.jpg">
<a href="demo.aspx">demo</a>
//改成如下
<img src="images/demo.jpg" runat="server" />
<a href="demo.aspx" runat="server">demo</a>
//或者
<asp:Image ID="img_Demo" ImageUrl="~/images/demo.jpg" runat="server" />
<asp:HyperLink ID="hpl_Demo" runat="server" NavigateUrl="demo.aspx" Text="demo"></asp:HyperLink>

个人比较倾向与添加runat=”server”的做法。

二、样式表文件(Style)
样式表我觉得是最简单的,因为直接放在母版页的head里有自动匹配了~ 这个就不再赘述了~

三、脚本文件(Script)
脚本有点麻烦~ 因为它既不会自动匹配路径,又不能添加runat=”server”属性(因为.net会把runat=”server”的脚本当作服务端代码处理)
这里需要用到一个叫做ResolveUrl的方法(Page.ResolveUrl(string path))

<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src='<%=ResolveUrl("js/jquery-1.3.2.min.js") %>' type="text/javascript"></script>

这样就OK了~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注