一个Asp.net项目,用到了母版页,母版页中的Header部分是这样写的:<head runat="server">
<title></title>
<link href="Css/layout.css" rel="stylesheet" type="text/css"/>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head> 注意这句:<link href="Css/layout.css" rel="stylesheet" type="text/css"/>。这是一个link标签,标签以相对路径的方式引用layout.css文件。而且这个标签不带runat="server"标记,它应该是一个普通的Html标记。
可生成网页后,查看网页源代码,我发现根据引用这个母版页的内容页的位置不同,这个link标签href属性会自动变化,比如变成:<link href="../Css/layout.css" rel="stylesheet" type="text/css"/>,或者变成<link href="../../Css/layout.css" rel="stylesheet" type="text/css" />等等。母版页内的link控件不带runat="server"标记,可Asp.net依然动态处理了它。
我又试了试<script>、<a>等标签,发现这些标签就得不到上述待遇。大家遇到过类似现象么?如果谁知道更多细节,恳请赐教。
<title></title>
<link href="Css/layout.css" rel="stylesheet" type="text/css"/>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head> 注意这句:<link href="Css/layout.css" rel="stylesheet" type="text/css"/>。这是一个link标签,标签以相对路径的方式引用layout.css文件。而且这个标签不带runat="server"标记,它应该是一个普通的Html标记。
可生成网页后,查看网页源代码,我发现根据引用这个母版页的内容页的位置不同,这个link标签href属性会自动变化,比如变成:<link href="../Css/layout.css" rel="stylesheet" type="text/css"/>,或者变成<link href="../../Css/layout.css" rel="stylesheet" type="text/css" />等等。母版页内的link控件不带runat="server"标记,可Asp.net依然动态处理了它。
我又试了试<script>、<a>等标签,发现这些标签就得不到上述待遇。大家遇到过类似现象么?如果谁知道更多细节,恳请赐教。
解决方案 »
- asp.net 把错误信息放入错误页面===================================
- 用jquery选择RadioButtonList中某一项的值问题
- asp.net一个奇怪的问题,关于button获取焦点的
- web 打包后怎样修改数据库联接
- 关于前两天的一个ajax.net的问题解决了,自己写了一个ajax框架,感觉还是很方便
- 不经过。NET项目编译怎么让一个新做的页面注册进DLL中,让它可以运呀???先谢谢了!
- 急!!!一个简单的问题,大家帮我看看呀
- dataset中的表的锁定问题
- CSS+DIV在VS2003中为什么会发生变化???????有没有解决方案~~~~急啊...
- 急寻计数器算法!!
- 把一个EXCEL的数据导入多张表
- 紧急求救[SOS]敖呜
个人认为
等高手
有趣的是,header标签只特殊照顾它里面的link标记,对<a>、<script>标记则持非亲生态度,不动态处理。
实际生成的页面中这个路径是以子页面的位置来定位的,而不是母版页。。可以用ResolveUrl
更方便的方法是路径前加“/”定位到站点根目录。