2012-07-12 82 views
2

我正在使用MVC3创建一个Web应用程序。在我的Web应用程序中,我有一个数据表显示对象值,每行都有一个复选框,用户可以选中/取消选中。我想要做的是修复一个设置,以便用户可以在没有任何事情发生的情况下检查/取消选中尽可能多的方框。然后,当用户完成时,他/她按下表格旁边的“完成”按钮。现在,当我想要魔法发生的时候。我希望视图将所有行收集到一个数组中,以便我可以将整个表格发送到控制器方法。我在数据表的API,我可以使用代码MVC3从数据表中获取编辑行的值

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" 

感谢所有帮助,不要犹豫,要求更多的信息,如果有一些人失踪/是unlear。

+0

我在http://stackoverflow.com/questions/11433804/change-style-on另一个问题-a-row-in-jquery-datatables-when-editing-displayed-values,我也真的可以使用一些帮助。谢谢你们每一个人的帮助! – 2012-07-12 09:30:02

回答

3

这将是新的链接:

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

     }); 
    }); 
} 
+0

我在此处以保留为例。我不知道你的模型是什么。 – Sllix 2012-07-12 08:53:15

+0

嗨,谢谢你的帮助。恐怕我不太明白。就像我说过的,我对这方面并不是很有经验。我不明白的是在我的Ajax.ActionLink中你希望我调用GetAllReservations。如果你建议我用GetAllReservations替换“_DoneView”,那么我该如何返回我的视图? btw在GetAllReservations是jsonList相同jsonlist? – 2012-07-12 09:29:06

+0

我编辑了我的答案,你可以通过点击jQuery方法来调用你的控制器。这是什么意思:Btw在GetAllReservations是jsonList和jsonlist相同? – Sllix 2012-07-12 09:42:37