在html中字符串化通用c#对象,在JS中解析

时间:2011-11-04 15:32:14

标签: javascript json razor

在剃刀中,这就是我所拥有的:

<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()的操作?我可以使用剃刀内的东西吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将字符串序列化为JSON格式。

您可以撰写@(new JavaScriptSerializer().Serialize(new { ... }))

如果您愿意,可以创建一个扩展方法来将其作为HTML帮助程序执行:

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