是否可以在具有 runatserver 的母版页的 head 标签中执行类似的操作:
<link rel="Stylesheet" type="text/css" href='<%=Config.ResourcesDomain %>/images/style.css' />
这是行不通的,因为它会生成这种 html:
<link rel="Stylesheet" type="text/css" href="<%=Config.ResourcesDomain %>/images/style.css" />
输出呈现如下的原因:
href="<%=Config.ResourcesDomain %>/images/style.css"
是因为 ASP.NET 将链接视为HtmlLink
控制,并渲染内容href
作为文字的属性。
这是将头部标记为服务器控件的一个奇怪的怪癖,其中某些元素被视为服务器控件(即使没有用runat="server"
属性)。
删除 href 属性周围的引号可以解决该问题:
href=<%= Config.ResourcesDomain %>/images/style.css
这样做会阻止链接元素被视为服务器控件,从而执行代码块并呈现正确的 URL。
然而上面写的是href
值不带引号。使用以下命令将引号添加到链接标记中:
href=<%= String.Format("'{0}'", Config.ResourcesDomain) %>/images/style.css
希望这可以帮助。
Edit
奇怪的是,如果你使用双引号href
属性,并在代码块中包含双引号,这也解决了该问题:
href="<%= "" + Config.ResourcesDomain %>/images/style.css"
然而,以上都不是特别优雅的解决方案,从后面的代码设置 URL 可能是正确的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)