11

我们最近升级到 MVC 4,现在我们的链接中的标题无法正确显示。问题出在 HTML.Raw 不会在我们的标题属性中转义 & 之前,但现在可以了。下面是我的示例代码:

<a title="@Html.Raw("Shoe Size 6&#189;-8")">Test</a>

这会产生以下标记:

<a title="Shoe Size 6&amp;#189;-8">Test</a>

到目前为止,我发现的唯一解决方案是将整个锚点放入一个字符串中,然后 HTML.Raw 那个字符串。

为什么 Html.Raw 在 ASP.NET MVC 4 的锚标记中转义 & 符号?.

这是一个非常丑陋的解决方案,我希望有更好的选择。

4

2 回答 2

15

虽然它只是一个不那么丑陋的解决方法,但您可以简单地@Html.Raw使用完整的属性名称和值。

<a @Html.Raw("title=\"Show Size 6&#189;-8\"")>Test</a>

结果是:

<a title="Show Size 6&#189;-8">Test</a>
于 2012-09-07T17:08:00.380 回答
8

如果您不能执行上面列出的解决方法,我有一个修补的基类,您可以尝试通过 web.config 注入。查看https://gist.github.com/4036121

于 2012-11-08T02:15:21.497 回答