1. ホーム
  2. .net

[解決済み] ASP.NET MVCでビューモデルをJSONオブジェクトに変換する方法は?

2022-04-25 14:33:13

質問

私は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 で razor を使用する場合 @Html.Raw(Json.Encode(object)) はうまくいくようです。