例えば:
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ます。彼らがなぜこれを行っているのかを知ることは良いことです。