呈现输出的原因如下:
href="<%=Config.ResourcesDomain %>/images/style.css"
是因为ASP.NET将链接视为HtmlLink
控件,并将href
属性的内容呈现为文字.
将head部分标记为服务器控件是一个奇怪的怪癖,其中某些元素被视为服务器控件(即使没有明确标记为runat="server"
属性).
删除href属性周围的引号可以解决以下问题:
href=<%= Config.ResourcesDomain %>/images/style.css
这样做会停止将LINK元素视为服务器控件,从而执行代码挡路并呈现正确的url.
然而,上面写的href
个值没有引号.使用以下命令,将向链接标记添加引号:
href=<%= String.Format("'{0}'", Config.ResourcesDomain) %>/images/style.css
希望这有帮助.
Edit个
奇怪的是,如果对href
属性使用双引号,并在代码块中包含双引号,这也解决了问题:
href="<%= "" + Config.ResourcesDomain %>/images/style.css"
然而,以上这些都不是特别优雅的解决方案,从后面的代码设置URL可能是一种方法.