2013-06-21 47 views
2

我目前尝试在我的项目中使用JQuery Datatables。这似乎工作得很好,但我有问题来处理删除行的Ajax请求。无法解析数据表ajax请求

由该数据表编辑器插件发送AJAX请求的格式如下:

行动=除去&表= pzeIpMaster & ID = &数据%5B%5D = 3

的在控制器中的方法看起来像

[Authorize, HttpPost] 
public ActionResult OnDeletePzeMaster(
    string action, string table, string id, string[] data) 

参数的值是

  • 行动=删除
  • 表= pzeIpMaster
  • ID = “”
  • 数据= NULL

为什么数据设置为null?!在我看来,数据必须设置为{3}

THX对您有所帮助

回答

2

数据%5B%5D解码数据[]。因此,MVC无法将数据[]与yor数据参数进行匹配。

你可以试试这个:

[Authorize, HttpPost] 
public ActionResult OnDeletePzeMaster(
    string action, string table, string id) 
{ 
var data = this.Request.Form["data[]"]; 
} 

或者你可以这样写

ASP.NET MVC - Custom model binder able to process arrays

+0

一个ModelBinder的,但是这就是数据表编辑器发送的方式?映射它的正确方法是什么? – BitKFu

+0

@BitKFu也许你可以这样做:editor.datatables.net/options/#ajaxUrl – LMeyer

+0

是的。凉。那是我寻找的解决方案。谢谢 – BitKFu