我有两个母版页.一个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”)%> ;,因为它与mastrepage /主题关系混在一起.
而且我不希望在ServerSide代码的标头中插入CSS样式表.
最佳答案
@H_301_36@发生这种情况的原因是因为ASPX处理器将其转换为GenericControl,除非它位于头部区域中,然后再将其转换为HtmlLink控件.
对于通用控件,它将href设置为属性. HtmlLink具有使用的Href属性,它将解析URL.
我能想到的唯一解决方案是:
><%= ResolveUrl(“ blah”)%>或<%= ResolveClientUrl(“ blah”)%>
>使用上述方法之一创建一个呈现链接并解析URL的自定义控件.