2014-11-02 50 views
0

我是網絡編程和asp.net mvc4的新手,所以也許我的問題對你們中的一些人來說似乎太天真了。 我在@ViewBag的幫助下傳遞JSON。爲什麼在剃刀視圖頁面中使用JSON編碼?

var strJson = '@ViewBag.Json'; 
var strDecoded = strJson.replace(/"/g, '"'); 
var JSONParsed = strDecoded.parse(); 

這裏是我的控制器類行創建JSON:

ViewBag.Json = new JavaScriptSerializer().Serialize(contacts); 

Evrething工作得很好,我的問題關於此行

我使用此行解析JSON在Razor視圖頁面:

strJson.replace(/"/g, '"'); 

之前,我發出的JSON的Razor視圖頁面我看到quots沒有編碼, 但在剃刀視圖頁中的JSON我看到編碼的編碼(")。

爲什麼我會在剃鬚刀視圖頁面中使用JSON編碼?

預先感謝您。

回答

2

剃刀自動HTML編碼您輸出的所有文本。
你可以通過致電Html.Raw()來防止這種情況。

另外,JSON已經是有效的Javascript;沒有必要解析字符串:

var jsonParsed = @Html.Raw(ViewBag.Json);