在剃刀中,这就是我所拥有的:
<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>
我是否需要做类似@(new {...})。toJsonString()的操作?我可以使用剃刀内的东西吗?
谢谢!
答案 0 :(得分:1)
您需要将字符串序列化为JSON格式。
您可以撰写@(new JavaScriptSerializer().Serialize(new { ... }))
如果您愿意,可以创建一个扩展方法来将其作为HTML帮助程序执行:
public static string ToJson(this HtmlHelper html, object obj) {
return new JavaScriptSerializer().Serialize(obj);
}