嵌套母版页和CSS文件

我有两个母版页.一个main.master和一个search.master.

search.Master是一个嵌套的母版页,位于main.Master的“内部”.
为了使我的CSS文件可与母版一起使用,我必须放置runat =“ server”属性.像这样:

<link runat="server" href="~/mp/css/master.main.css" rel="stylesheet" type="text/css" />

并在母版页中工作出色.
但是,此嵌套母版页具有自己的样式,因此我尝试再次执行runat =“ server”技巧.我确保我的asp:content位于内并输入:

<link runat="server" href="~/mp/css/master.search.css" rel="stylesheet" type="text/css" />

但是,当我检查网站的源代码时,显示的路径为:

〜/ mp / css / master.search.css

的侵略者

../../mp/css/master.search.css

有人知道为什么会这样吗?以及如何解决呢?

PS:我不想使用<%= ResolveClientUrl(“ bla bla bla”)%&gt ;,因为它与mastrepage /主题关系混在一起.
而且我不希望在ServerSide代码的标头中插入CSS样式表.

最佳答案
发生这种情况的原因是因为ASPX处理器将其转换为GenericControl,除非它位于头部区域中,然后再将其转换为HtmlLink控件.

对于通用控件,它将href设置为属性. HtmlLink具有使用的Href属性,它将解析URL.

我能想到的唯一解决方案是:

><%= ResolveUrl(“ blah”)%>或<%= ResolveClientUrl(“ blah”)%>
>使用上述方法之一创建一个呈现链接并解析URL的自定义控件.

相关文章

Css常用的排序方式权重分配 排序方式: 1、按类型&#160;...
原文:https://www.cnblogs.com/wenruo/p/9732704.html 先上...
css属性:word-wrap:break-word; 与 word-break:break-all 的...
https://destiny001.gitee.io/color/
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML...
css之background的cover和contain的缩放背景图 对于这两个属...