2

既存のデータベースを使用して MVC でアプリケーションを作成しています。DB を EF と Scaffolding を介して正常に接続しました。テーブルがビューに表示されます。

ソートとフィルタリング用の Jquery プラグイン、Datatable が必要でした。ただし、JSON 形式のデータが必要です。私は周りを見回しましたが、値を既存のデータベースから JSON に変換する確実な方法が見つかりません。

DBController や DataService などの WebAPI 属性が追加され、JSON に変換されるチュートリアルを見ました。このままではうまくいかない…。

ビューで取得する値を JSON に変換する方法を知りたいと思っていたので、不要な情報をたくさん追加して申し訳ありませんでした。

どうもありがとう

4

3 に答える 3

2
var jsonData = @Html.Raw(new JavaScriptSerializer().Serialize(Model));

JavaScriptSerializer Classの MSDN ドキュメントは次のとおりです。

于 2012-06-19T17:32:22.230 に答える
2

ビューで JSON 変換を行いたい場合は、@Aleksey の回答に従うことができます。jquery プラグイン(jquery table?) を使用しているとのことでしたので、データを返してグリッドを JSON として埋めるコントローラー アクションが必要になる場合がありますか? この場合、Json アクションの結果を返すコントローラー内のアクションを持つことができ、JavaScript シリアライザーを直接使用して変換を行う必要はありません (これはフレームワークによって行われます)。

たとえば。

public JsonResult GetDataToFillGrid(parameters)
{
  var dataCollection = .. get from db

  return Json(dataCollection, JsonRequestBehavior.AllowGet);
}

JsonRequestBehavior.AllowGetGET リクエストに使用する必要があります。

于 2012-06-20T04:05:37.433 に答える
0

あなたの Jquery DataTable はビューにあり、ビュー内でのデータの処理は常に避ける必要があります。ビューは、コントローラーから渡されたデータのみを表示する必要があります。

そうは言っても、マークが提案したように、Jsonオブジェクトとして結果を返すコントローラーにメソッドを作成する必要があります。

于 2012-06-20T04:38:03.323 に答える