您的位置:首页 > 编程语言 > ASP

ASP.NET母版与内容页相对路径的问题

2015-12-01 18:44 676 查看
图片问题

非常好解决

<img runat="server" src="~/images/ad468x60.gif" alt="" />


加上runat=”server” ,路径使用绝对路径~/基本上就OK了。

CSS文件引用

<link rel="stylesheet" type="text/css" href="style.css" />


这里神奇的就是link的文件的href是随着被访问文件的目录结构自动调整,说白了就考虑母版页引用的路径就可以了,其他不用费心。

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

<link rel="stylesheet" type="text/css" href="../style.css" />


前提就是
<head runat="server"></head>
必须有
runat="server"


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/ddsmoothmenu.js")%>'></script>


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

<script type="text/javascript" src='/TLERP/menu/jquery.min.js'></script>

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


那么很明显
ResolveClientUrl
是相对路径,是比较好用的,当然
ResolveUrl
也有很多地方需要这样的绝对路径,其中TLERP是web应用的名字。

另外,如果你将这样的代码放在了
<head>
里面,将会报错:

控件包含代码块(即 <% … %>),因此无法修改控件集合。

原因我不说了,你将引用的东西放在
<body>
里即可,哪怕是
<body>
<form>
之间。

在看了上面的东西后 的确很实用

比如说你在母版页中用到了背景 background-image:url(./image/Logo1.jpg);

第一种方法:

建立一个CSS文件,然后用到上面的2方法。

第二种方法:

用到上面的3

background=”<%=ResolveClientUrl(“~image/Logo1.jpg”)%>”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: