C# mvc post action json未解析为参数
我在控制器中有动作:C# mvc post action json未解析为参数,c#,javascript,jquery,asp.net-mvc,gridview,C#,Javascript,Jquery,Asp.net Mvc,Gridview,我在控制器中有动作: [POST] public JsonResult ApproveOrders(Guid[] ordersIdToApprove) { [...] return Json(dataToReturn); } 我试图通过javasrcript从视图中调用它: function ApproveAllClicked(e, c) { var url = $("#ApproveButton").data("url"); var data = { ordersIdToA
[POST]
public JsonResult ApproveOrders(Guid[] ordersIdToApprove)
{
[...]
return Json(dataToReturn);
}
我试图通过javasrcript从视图中调用它:
function ApproveAllClicked(e, c) {
var url = $("#ApproveButton").data("url");
var data = { ordersIdToApprove: DataGrid.GetSelectedKeysOnPage() };
$.ajax({
type: "POST",
url: url,
data: data,
dataType: 'application/json'
});
}
GetSelectedKeysOnPage()是来自Devexpress Mvc GridView的机制。它以以下格式返回网格中所有选定行的id:
["3a19f538-0cf6-e311-93f5-000c2948090b", "71021f74-f308-e411-93f5-000c2948090b"]
已调用控制器中的操作,但参数中的数组为空。我做错了什么?在ajax选项中,添加
traditional: true,
如果未设置,则
items : ["A", "B"]
将作为
items[]=A&items[]=B
而不是
items=A&items=B
您是否尝试中断return语句以查看“dataToReturn”变量中是否有任何数据?您的ajax调用或操作方法没有问题,我只是用硬编码数据对它们进行了测试&一切正常。你能调试js控制台上的
DataGrid.GetSelectedKeysOnPage()
函数并查看它返回了什么吗?@markpsmith-guids在我的帖子中是从DataGrid.GetSelectedKeysOnPage()收到的实际数据。