将模型写为Javascript中可用的对象

时间:2011-01-16 16:42:57

标签: c# javascript asp.net-mvc asp.net-mvc-2

首次在这里使用Asp.Net MVC 我有一个使用3个属性定义的模型类,我想从视图上的javascript代码访问此模型。

我找到的最好的是this page 这将允许我做这样的事情:

<script>
 var model = <%= Model.ToJson() %>
 alert(model.Prop1);
</script>

由于这段代码基于2007年的一篇文章,我想知道是否有更好的方法来做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,这是实现这一目标的一种非常好的方法。它使用JavaScriptSerializer将模型序列化为JSON对象并确保正确转义。

作为替代,如果您使用AJAX,您可以直接让控制器操作返回JSON:

public ActionResult Foo()
{
    var model = FetchTheModel();
    return Json(model, JsonRequestBehavior.AllowGet);
}

然后使用jquery使用此操作:

$.getJSON('<%= Html.Action("Foo") %>', function(result) {
    alert(result.Prop1);
});