0

MVC4 プロジェクトがあり、jquery/Datatables プラグインを使用しています。

次のプロパティを持つビューモデルがあります。

public IEnumerable<Invoice> Invoices { get; set; }
public IProcessResult Result { get; set; }
public Invoice Invoice { get; set; }

データテーブルにはすべての請求書 (model.Invoices から) が表示され、このテーブルの下に、選択した請求書の請求書の詳細 (および画像などのその他の情報) が表示されます。

ここで、データテーブルで選択した請求書の請求書の詳細を表示したいと思います (請求書をクリックした後)。この前に、いくつかのデータを (コントローラーで) 初期化する必要があります。

私はこのJavaScriptコードを持っています:

$(document).ready(function () {
    $('#invoicesoverview tr').click(function () {
      oTable.$("tr.row_selected").removeClass("row_selected");
      $(this).toggleClass('row_selected');
    });

    var oTable = $('#invoicesoverview').dataTable({

        "bPaginate": true,
        "iDisplayLength": 10,
        "bSort": false,
        "bFilter": false,
        "bResetDisplay": false,
        "bServerSide": false,
        "bProcessing": true

    });

    oTable.$("tr:first").trigger("click");
}

私は「MVC4 スターター」なので、次に何をすればよいかわかりません。クリックイベントからajax-callを呼び出さなければならないと思いますが、これを行う方法がわかりません。

4

1 に答える 1

1

私がそれを行う方法は、最初にクリックされた行のIDを取得することです。これは、テーブル内の選択された行の ID を取得する -HTMLについて説明するリンクです。次に、クリック機能に ajax 呼び出しを追加します

$.ajax({
     url: "@(Url.Action("Details", "Controller", new { id = "----" }))/".replace("----", id),
     type: "POST",
     cache: false,
     async: true,
     success: function (result) {
          $(".DetailsDiv").html(result);
     }
 });

部分ビューを作成して、クリックされた行の詳細をコントローラーに表示します

[HttpPost]
    public PartialViewResult Details(string id)
    {
         Model model = (populate your data);
         return PartialView("_PartialView", model);
    }

うまくいけば、これが役に立ちます。

于 2013-09-23T18:17:08.557 に答える