一尘不染

如何在ASP.NET MVC中将视图模型转换为JSON对象?

javascript

我是Java开发人员,刚接触.NET。我正在一个.NETMVC2项目中,我想要一个局部视图来包装一个小部件。每个JavaScript小部件对象都有一个由模型数据填充的JSON数据对象。然后,当在窗口小部件中更改数据或在另一个窗口小部件中更改数据时,将用于更新此数据的方法绑定到事件。

代码是这样的:

MyController

virtual public ActionResult DisplaySomeWidget(int id) {
  SomeModelView returnData = someDataMapper.getbyid(1);

  return View(myview, returnData);
}

myview.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeModelView>" %>

<script type="text/javascript">
  //creates base widget object;
  var thisWidgetName = new Widget();

  thisWidgetName.updateTable = function() {
    //  UpdatesData
  };
  $(document).ready(function () {
    thisWidgetName.data = <% converttoJSON(model) %>
    $(document).bind('DATA_CHANGED', thisWidgetName.updateTable());
  });
</script>

<div><%:model.name%></div>

我不知道如何发送数据SomeModelView,然后能够使用它来填充小部件以及将其转换为JSON。我已经在控制器中看到了一些简单的方法,但是在视图中却没有。我认为这是一个基本问题,但是我已经花了几个小时试图使它变得光滑。


阅读 465

收藏
2020-05-01

共1个答案

一尘不染

在带有razor的mvc3中@Html.Raw(Json.Encode(object))似乎可以解决问题。

2020-05-01