我是Java开发人员,刚接触.NET。我正在一个.NET MVC2项目中,我想要一个局部视图来包装小部件。每个JavaScript小部件对象都有一个将由模型数据填充的JSON数据对象。然后,当在窗口小部件中更改数据或在另一个窗口小部件中更改数据时,用于更新此数据的方法将与事件绑定。
代码是这样的:
MyController:
MyController
virtual public ActionResult DisplaySomeWidget(int id) { SomeModelView returnData = someDataMapper.getbyid(1); return View(myview, returnData); }
myview.ascx:
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。我已经在控制器中看到了一些简单的方法,但是在视图中却没有。我认为这是一个基本的问题,但是我已经花了几个小时试图使它变得光滑。
SomeModelView
在带有剃须刀的mvc3中@Html.Raw(Json.Encode(object))似乎可以解决问题。
@Html.Raw(Json.Encode(object))