3

私のC#MVCビューコードには、非表示の入力フィールドがあります

<input type='hidden'  name='foo' value='${r.data}'/>

私のローカル マシンでテストすると、html ソースが生成されます。

<input type='hidden'  name='foo' value='bah'/>

私の本番サーバーでは、クライアントに送信されるソースは

<input type="hidden"  name="foo" value="bah"/>

変数データに二重引用符があると壊れます。

これで、html 特殊文字をテストするか、少なくとも実行する必要があることがわかりました

<input type="hidden"  name="buttons" value="${r.data.Replace(@"""", "&quot;")}"/> 

ローカルマシンと生産出力の違いはなぜですか?

これが変更されているのは、spark ビュー エンジンの一部か、C# の Response ビルダーの一部ですが、意味がありません。私が考えることができる唯一のことは、IIS と VS2010 組み込みの Web サーバーとの違いですか?

ファイルのエンコーディングは、ローカルと本番の UTF8 で同じで、同じ dll を使用しています。同じビルドタイプがリリースです。

一重引用符と二重引用符の両方を許可する必要があります。 一重引用符と二重引用符 (' vs ")

これは、これがどのように起こっているのか意味がありません。そして、私は正気を失っているように感じます。

4

1 に答える 1

1

ASP.NET MVC 2 とsparkviewengine rendering single quotes to double quotes in html5 data- attribute (受け入れられた anwser を使用) は、おそらく同じ MVC バージョンではありませんが、おそらく同じバグです。

于 2013-03-07T08:41:36.400 に答える