我是一名 Java 开发人员,不熟悉 .NET。我正在开发一个 .NET MVC2 项目,我希望有一个部分 View 来包装一个小部件。每个 JavaScript 小部件对象都有一个 JSON 数据对象,该对象将由模型数据填充。然后,当小部件中的数据发生更改或该数据在另一个小部件中发生更改时,更新此数据的方法将绑定(bind)到事件。
代码是这样的:
我的 Controller
:
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。我在 Controller 中看到了一些真正简单的方法,但在 View 中没有。我认为这是一个基本问题,但我已经花了几个小时试图让它变得光滑。
最佳答案
在 mvc3 中使用 razor @Html.Raw(Json.Encode(object))
似乎可以解决问题。
https://stackoverflow.com/questions/3365551/