【问题标题】:MVC3 getting values from edited rows in datatableMVC3 从数据表中已编辑的行中获取值
【发布时间】:2012-07-12 08:20:45
【问题描述】:

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

感谢所有帮助,如果有什么遗漏/不明白,请随时询问更多信息。

【问题讨论】:

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


【解决方案1】:

这将是您的新链接:

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

        });
    });
}

【讨论】:

  • 我在这里以预订为例。我不知道你的型号是什么。
  • 您好,感谢您的帮助。恐怕我不太明白。就像我说的那样,我对此不是很有经验。我不明白的是,您希望我在 Ajax.ActionLink 的哪个位置调用 GetAllReservations。如果您建议我应该用 GetAllReservations 替换“_DoneView”,那么我该如何返回我的视图?顺便说一句,GetAllReservations 中的 jsonList 是否与 jsonlist 相同?
  • 我编辑了我的答案,您可以通过 jQuery 的 on click 方法调用您的控制器。这是什么意思:GetAllReservations 中的 Btw is jsonList 与 jsonlist 相同?
  • 第一次写“jsonList”时使用大写L,而第二次写时使用小l。无论如何,我已经更新了我的问题。好的。所以我按照你的建议创建了一个 div 。我把按钮“完成”放在那里。当我按“完成”时,点击功能上的 jquery 应该然后执行我从数据表 api 中的代码吗?我是否理解正确?顺便说一句,谢谢你在这里帮助我,特别是因为我显然不擅长这个:p
  • 如果我的回答是正确的,请接受并投票给我! :) 很高兴为您提供帮助。
猜你喜欢
  • 2013-11-17
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-10
相关资源
最近更新 更多