惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
Y
Y Combinator Blog
博客园_首页
有赞技术团队
有赞技术团队
博客园 - Franky
腾讯CDC
G
Google Developers Blog
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
D
Docker
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
U
Unit 42
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学

博客园 - 熵星尘

苦逼的程序员都是这么玩游戏的(微信:天天连萌) 关于ASP.NET动态加载控件的几点实用总结 记录代码运行耗时的写法 关于Linq to DataTable not in的写法 DevExpress AspxGridView数据绑定 发现一个Membership的bug 无法将类型为“Oracle.DataAccess.Types.OracleString”的对象强制转换为类型“System.String”。 asp.net页面中文件下载的2种方式 - 熵星尘 - 博客园 gridview 的添加删除等技巧 全部按名称取值 【部分转】innerText 跟 innerHTML区别 asp.net验证组件membership登录失败的问题 如何获取GridView的EmptyDataTemplate中的控件 Mutex实现单实例,你真的搞懂了吗?来看看吧。 VS2008 如何在WinForm中显示flash - 熵星尘 - 博客园 【原创】从图像转换到byte[]数组的几种方法 除夕晚的一帖:如何为repeater内部控件设置javascript,如何取得它们的客户端ID。 回发或回调参数无效。 问题的解决和思考 - 熵星尘 - 博客园 【作品发布】正式发布Tuff的神奇小软盘1.2 【作品发布】QQ2008远程自助 1.5.1.1
母板页中的引用的图片,JS,css等路径问题 - 熵星尘 - 博客园
熵星尘 · 2009-10-28 · via 博客园 - 熵星尘

当你的母版与你的页面不在一个目录下的时候

你母版引用的图片,css,js等将会出现路径问题而导致客户端浏览器加载失败,导致不能正确出效果。

思路:由于纯html代码asp.net服务器不做处理,所以需要在服务器端处理一下

1. 图片问题

非常好解决

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

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

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

 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/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>之间。