Dot-Net

如何在 ASP.NET MVC 中將視圖模型轉換為 JSON 對象?

  • July 29, 2010

我是一名 Java 開發人員,不熟悉 .NET。我正在開發一個 .NET MVC2 項目,我希望有一個部分視圖來包裝一個小元件。每個 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。我在控制器中看到了一些真正簡單的方法,但在視圖中沒有。我認為這是一個基本問題,但我已經花了幾個小時試圖使這個問題變得光滑。

在帶有剃須刀的 mvc3 中@Html.Raw(Json.Encode(object))似乎可以解決問題。

引用自:https://stackoverflow.com/questions/3365551