.resx ファイルを取り込み、.resx ファイル内のすべての名前と値のペアのプロパティを含む JavaScript オブジェクトを作成するユーティリティを作成しています。.resx の値の 1 つが
このディーラーは電子注文を受け付けます。
/r/nクリックして、このディーラーに{0}を注文してください。
次のように、名前と値のペアを js オブジェクトに追加しています。
streamWriter.Write(string.Format("\n{0} : \"{1}\"", kvp.Key, kvp.Value));
When kvp.Value = "このディーラーは電子注文を受け付けています./r/nクリックして、このディーラーから {0} を注文してください。"
これにより、StreamWriter.Write() は実際に「注文」の間に改行を挿入します。そして「クリック」は、JavaScriptの出力を自然に台無しにします。
@ を使用して、string.Format を使用せずにさまざまなことを試しましたが、うまくいきませんでした。助言がありますか?
編集: このアプリケーションはビルド中に実行され、後で展開されるいくつかの JavaScript ファイルを取得するため、アプリ開発者以外の誰もアクセス/実行することはできません。したがって、ここでは明らかに文字をエスケープする方法が必要ですが、XSS 自体はそれほど重要ではありません。