如何从 jquery-datatable 中选择一行,从控制器获取更多数据并将它们显示在表下?(MVC4)
本文关键字:MVC4 显示 多数据 控制器 选择 jquery-datatable 获取 一行 | 更新日期: 2023-09-27 18:32:21
我有一个MVC4项目,我正在使用jquery/Datatables-plugin。
我有一个具有下一个属性的视图模型:
public IEnumerable<Invoice> Invoices { get; set; }
public IProcessResult Result { get; set; }
public Invoice Invoice { get; set; }
数据表显示所有发票(来自模型。发票),在此表下,我显示了所选发票的发票详细信息(以及其他一些信息,如图像)。
现在,我想在数据表中显示所选发票的发票详细信息(单击发票后)。在此之前,我必须初始化一些数据(在控制器中)。
我有这个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 启动器",所以我不知道下一步该怎么做。我想我必须从点击事件调用 ajax 调用,但我不知道该怎么做。
我的做法是首先获取单击的行的 id。 这是一个链接,讨论在表 -HTML 中获取所选行的 ID。 然后在单击函数中添加 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);
}
希望这有所帮助。