【发布时间】:2011-08-24 19:56:36
【问题描述】:
我最近才开始尝试 T4MVC,我喜欢消除魔术字符串的想法。
但是,当我尝试在我的母版页上使用它作为样式表时,我得到了这个:
<link href="<%: Links.Content.site_css %>" rel="stylesheet" type="text/css" />
像这样渲染:
<link href="<%: Links.Content.site_css %>" rel="stylesheet" type="text/css" />
而这些渲染正确:
<link href="<%: Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
<link href="<%: Links.Content.site_css + "" %>" rel="stylesheet" type="text/css" />
看来,只要我在代码段内有双引号,它就可以工作。但是当我把其他东西放在那里时,它会避开领先的“小于”。
这是我可以关闭的东西吗?这是一个错误吗?
编辑:
这不会发生在<script src="..." ... /> 上,也不会发生在<a href="..."> 上。
编辑 2:
最小的情况:
<link href="<%: string.Empty %>" />
对
<link href="<%: "" %>" />
编辑 3:
我有一个解决方法,我已经实现了一个 HtmlHelper 扩展,所以我可以这样做:
<%: Html.StyleSheet(Links.Content.site_css) %>
我更喜欢对智能感知的支持,所以我实际上会坚持下去。现在,我只是在尝试解决这个错误。
【问题讨论】:
-
您是否尝试在属性周围使用单引号 (
')? -
我直到现在才知道,但它确实表现出完全相同的症状。
-
我认为冒号操作是 .NET 4.0 附带的,所以如果您的目标是 3.5 或更早版本,这可能是原因。
-
它复制了同样的东西 - 目标 .net 4.0。我想你可能正在做某事
-
好吧,我很确定这是一个错误。我应该向谁报告?
标签: asp.net asp.net-mvc asp.net-mvc-2