0

ページの上部がテーブルであるasp.netmvcビューがあります。私が欲しいのは、サーバーに移動してそのテーブルの詳細を取得するテーブルの行をクリックすることです。これは正常に機能しており、Jsonで詳細を返します。

問題は、下に詳細パネルを表示したいということです。今、私は詳細ペインをすべて部分的に表示しています。

jqueryを使用して「これを接続」するにはどうすればよいですか。行をクリックすると、詳細ペインに正しいモデルデータが入力されて表示されます。

  1. jsonを捨てて、コントローラーアクションでhtmlを生成し、htmlをビューに戻して詳細ペインを表示しますか?
  2. ここで他のベストプラクティスや提案はありますか?
4

2 に答える 2

2

MVC Ajaxヘルパーを使用してコントローラーを呼び出し、JSonの結果を取得していると思いますか?

これに代わる方法は、JQueryを使用してJSonコントローラーを呼び出すことです。したがって、リンクまたはボタンをクリックすると、非表示のタグからコントローラーに渡す必要のあるIDを見つけるJavaScriptを呼び出すことができます。JSonの結果を受け取ったら、htmlタグのプロパティを設定し、詳細ペインを表示/非表示にします。このようなもの:

function ShowPartial() {
  var ID = $("#hiddenValue").attr("value");
    $.getJSON("YourUrl" + ID, function(result) {
        $.each(result, function(item) {
          // Set you html properties using this["JSonPropertyName"]
        });
    });
}

別の方法は、MVC Ajaxヘルパーを使用し、JSonを使用せずに、部分的な詳細ビューでdivタグを更新することです。

于 2010-02-08T14:33:45.133 に答える
0

このクライアント側を処理するために、 jtemplates(jqueryプラグイン)のようなクライアント側のテンプレートエンジンを使用します。コントローラアクションから部分ビューを返すだけで、ページ上の目的の場所にそのhtmlをレンダリングできます。しかし、私はajaxリクエストからhtmlを返すのは悪い習慣だと考えており、むしろjsonオブジェクトを返したいと思います。

于 2010-02-08T14:29:52.800 に答える