2016-05-13 55 views
0

我想將使用JsonConvert.SerializeObject的剃刀中的C#模型轉換爲javascript模型。將c#視圖模型轉換爲javascript模型時轉義HTML標記

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

該模型包含許多不同類型的屬性。 問題是,其中一些屬性包含特殊字符,如「<,>」。

不幸的是這會導致JavaScript語法錯誤: 「語法錯誤:意外的令牌<」 我試圖找到一種方法來檢測包含特殊字符的屬性和編碼。 我使用Html.Raw來防止編碼,因爲我不想在將模型轉換爲JSON字符串時生成雙引號。

我會感謝您的幫助。

+1

你可以試試這個:var data ='@ JsonConvert.SerializeObject(Model)'; var jsObj = JSON.parse(data.replace(/ "/g,''')); –

回答

1

將序列化的模型分配給js變量。

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

當模型序列化到JSON,它包含& QUOT而不是「字符。因此,代之以」,分析它並分配給JS變量。

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

完美!謝謝! – Grentley