2016-05-13 10 views
0

JsonConvert.SerializeObjectを使用して、C#モデルをJavaScriptでJavascriptモデルに変換しようとしています。C#ビューモデルをjavascriptモデルに変換するときにHTMLタグをエスケープする

var brandsCollectionModel = '@(Html.Raw(JsonConvert.SerializeObject(Model)))'; 

モデルには、異なるタイプの多数のプロパティが含まれています。 問題は、これらのプロパティの一部に「<、>」などの特殊文字が含まれていることです。

残念ながら、これはjavascriptの構文エラーが発生します。 「にSyntaxError:予期しないトークン<」 私は特殊文字が含まれているし、それをコード化特性を検出する方法を見つけようとしています。 ModelをJSON文字列に変換するときに生成される二重引用符をエスケープしたくないので、エンコードを防止するためにHtml.Rawを使用しています。

私はあなたの助けに感謝します。

+1

これを試すことができます:var data = '@ JsonConvert.SerializeObject(Model)'; var jsObj = JSON.parse(data.replace(/ "/g、 '"')); –

答えて

1

js変数にシリアライズされたモデルを割り当てます。

var data = '@JsonConvert.SerializeObject(Model)'; 

モデルをJSONにシリアライズさ

は、それはそれを解析し、jsの変数に割り当てる、「だからと交換してください。文字」QUOTの代わり&が含まれています。

var jsObj = JSON.parse(data.replace(/&quot;/g,'"')); 
+0

パーフェクト!ありがとう! – Grentley

関連する問題