0

我有一个 MVC4 项目,我正在使用 jquery/Datatables-plugin。

我有一个具有以下属性的视图模型:

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

数据表显示所有发票(来自 model.Invoices),在此表下我显示所选发票的发票详细信息(以及一些其他信息,如图像)。

现在我想在数据表中显示所选发票的发票详细信息(单击发票后)。在此之前,我必须初始化一些数据(在控制器中)。

我有这个javascriptcode:

$(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-starter',所以我不知道下一步该做什么。我想我必须从点击事件中调用 ajax 调用,但我不知道该怎么做。

4

1 回答 1

1

我会怎么做是首先获取被点击的行的id。这是一个讨论Get id of selected row in a table -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 回答