2013-02-22 64 views
0

所有单元格数据这个问题涉及我发帖说我没有得到回答的问题:How to do batch row updating using jQuery Datatables and ASP MVC检索从jQuery的数据表上后

我使用的是jQuery datatablesASP.NET MVC 4。我试图实现的是当我点击一个提交按钮时,我需要将所有数据表的数据回传给我的控制器的操作方法。我将编辑我的表格数据,然后我需要将此编辑后的表格数据回传给我的控制器,然后我想一次处理它。我不想立即更新行或单元格。

我不知道如何做到这一点。我甚至尝试somehing这样的,但是这也不能正常工作:

这是我如何填充我的数据表:

$('#com-plus-components-datatable').dataTable({ 
    "aoColumns": [ 
      { "mDataProp": [0], "sWidth": "35%" }, 
      { "mDataProp": [1], "sWidth": "65%" } 
    ], 
    "bAutoWidth": false, 
    "bFilter": false, 
    "bLengthChange": false, 
    "bPaginate": false, 
    "bProcessing": true, 
    "bServerSide": true, 
    "bSort": false, 
    "iDisplayLength": 50, 
    "sAjaxSource": '@Url.Action("GetWindowsServices")' 
}); 

这是我试图让数据表的数据:

$('form').submit(function() { 
    $.post("@Url.Content("~/Server/Test")", 
    $('form').serialize(), 
    function (data) { 
      alert('success'); 
    }, 'json'); 
}); 

我行动方法来获取我的数据并进行所有处理(部分代码如下):

[HttpPost] 
public ActionResult Test(string[] data) 
{ 
    return View(); 
} 

string[] data在帖子上始终为空。

我点击提交按钮后,如何将所有数据表的数据都存入我的操作方法?

回答

0

你忘了取消表单的默认操作从你的.submit处理程序返回假提交:

$('form').submit(function() { 
    $.post('@Url.Action("Test", "Server")', $('form').serialize(), function (data) { 
     alert('success'); 
    }); 
    return false; // <!-- You need this 
}); 

,或者你也可以这样做:

$('form').submit(function (evt) { 
    evt.preventDefault(); // <!-- You need this 
    $.post('@Url.Action("Test", "Server")', $('form').serialize(), function (data) { 
     alert('success'); 
    }); 
}); 

还要注意我怎么有使用Url.Action助手而不是Url.Content来为您的控制器操作生成url。这将考虑您的路线定义。硬编码你的网址总是不好的。

此外,为确保您已经遵守输入字段的standard naming conventions,以便默认模型联编程序能够将请求反序列化为字符串数组。

+0

谢谢。看看我上面的HttpPost操作方法,前端显示我的成功弹出窗口,但它没有打我的操作方法。为什么会这样? – 2013-02-25 05:19:17

+0

我想回发我的网格中通过AJAX/JSON调用加载的所有值。这就是我使用'string [] data'的原因。 – 2013-02-25 05:25:27

+0

我得到了输入文本框的名字。但是,当处理表格数据时,我无法使用HTML5为TABLE和TD添加名称。现在我该怎么做?它没有拿起它。 – 2013-02-25 06:04:11