MVC3从数据表中的已编辑行获取值

时间:2012-07-12 08:20:46

标签: jquery asp.net-mvc-3 datatable

我正在使用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"

感谢所有帮助,如果遗漏了某些内容,请不要犹豫,不要犹豫。

1 个答案:

答案 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(){

        });
    });
}