我正在使用MVC3来创建Web应用程序。在我的Web应用程序中,我有一个显示对象值的数据表,每行都有一个复选框,用户可以选中/取消选中。我想要做的是修复一个设置,以便用户可以检查/取消选择他/她想要的任意数量的框,而不会发生任何事情。然后,当用户完成时,他/她按下表格旁边的“完成”按钮。现在,这就是我希望魔法发生的时候。我希望视图将所有行收集到一个数组中,这样我就可以将整个表发送到控制器方法。我在datatables api中发现我可以使用代码
var table = $.fn.dataTable.fnTables(true);
if (table.length > 0) {
$(table).dataTable().fnAdjustColumnSizing();
}
以便将所有可数据表数据保存到变量中。现在我该如何使用它?
除此之外,我希望当用户按下当前只返回另一个视图的Ajax.ActionLink时,会发生所有这些。是否有可能让我的ActionLink将一个变量设置为返回数据表行数组的javascript函数的返回值?
如果我有点不清楚,我会尝试显示我想说的内容(我目前不是最好的网络开发者,所以请对我温柔:))请参阅代码中的评论。
@Ajax.ActionLink("Done",
"_DoneView",
new { value1 = Model.Item1.value1, value2 =
Model.Item1.value2, value3 = Model.Item1.value3,
//Would it be possible to here say something like
DatatableArray = javascriptFunction() //Javascript function
//that returns an array containing all rows from the table },
new AjaxOptions { HttpMethod = "GET",
UpdateTargetId = "DataTable",
InsertionMode = InsertionMode.Replace},
new {
@class = "linkButton blue"
感谢所有帮助,如果遗漏了某些内容,请不要犹豫,不要犹豫。
答案 0 :(得分:2)
这将是您的新链接:
<div id="divId">create a nice button with the div</div>
创建一个返回JsonResult的控制器。像这样:
public JsonResult GetAllReservations()
{
var jsonlist = listOfYourReservations;
return Json(jsonlist, JsonRequestBehavior.AllowGet);
}
在此之后,您可以在jQuery中执行此操作:
$("#divId").on("click", function(){
$.post('/ControllerName/GetAllReservations', function (data) {
$.each(data, function(){
});
});
}