以下行出现在我的一个javascript文件中,它在Razor中的语法是什么。
var initialData = <%= new JavaScriptSerializer().Serialize(Model) %>;
答案 0 :(得分:22)
像这样:
@Html.Raw(new JavaScriptSerializer().Serialize(Model))
Html.Raw
调用是必要的,以防止它被HTML转义。
答案 1 :(得分:7)
为了更简洁的感觉,你可以使用网页Json助手的编码方法:
var initialData = @Html.Raw(Json.Encode(Model))
答案 2 :(得分:1)
如果您希望序列化JavaScript正确支持DateTime
,请使用Json.NET中的序列化程序。根据{{3}},甚至微软也使用它来与MVC4进行序列化。
var initialData = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));