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