例如:
data-val-equalto="'MyProperty5' and 'MyProperty4' do not match."
问题:为什么 & 字符再次编码为&
( '
),而不是按原样 ( '
) 输出字符引用?
jquery.validate 插件似乎解析'
为'
.
问题似乎不在 Razor 中,而是在生成不显眼的验证属性的代码中,以下代码:
<span title="@("'MyProperty5' and 'MyProperty4' do not match.")"></span>
...正确输出:
<span title="'MyProperty5' and 'MyProperty4' do not match."></span>
发现问题出在 ASP.NET MVC 中,有一种方法称为
GetValidationAttributes
将 HTML 编码的值添加到字典中,然后将值再次编码为TagBuilder
. 很高兴知道他们为什么这样做。