2011-11-04 54 views
0

在剃刀解析,這是我有:stringify'ing一般C#對象,在JS

<span data="@(new { prop1 = "prop1val", prop2 = 5 })" id="span1"></span> 

而且,在JS,我想這些數據ATTR VAL解析成JSON對象。

var dataObj = JSON.parse($("#span1").attr("data")); 
alert(dataObj.prop1); // should alert "prop1val" 

剃刀被渲染的方法是這樣的:

<span data="{ prop1 = prop1val, prop2 = 5 }" id="span1"></span> 

我需要做的是這樣@(新{...})toJsonString()?剃鬚刀內有什麼我可以使用的嗎?

謝謝!

回答

1

您需要將字符串序列化爲JSON格式。

你可以寫@(new JavaScriptSerializer().Serialize(new { ... }))

如果你願意,你可以創建一個擴展方法來做到這一點作爲一個HTML幫助:

public static string ToJson(this HtmlHelper html, object obj) { 
    return new JavaScriptSerializer().Serialize(obj); 
}