我有一个对象selectedDocTypes为[23,45,78]
我需要将它作为参数传递给我的控制器动作。 但是该值未被赋值给参数,它为空。
这是代码:
JS:
function addNewIssue(accountSID,selectedDocTypes, callback) {
var Data = { accountSID: accountSID, selectedDocTypes: selectedDocTypes };
$.ajax(landforceAPIURL + '/AddNewIssue', {
cache: false,
data: Data,
success: function (data) {
if (callback)
callback(data)
},
error: dataContext.queryFailed
});
};
C#:
[HttpGet, Route("AddNewIssue")]
public string AddNewIssue(string accountSID,int[] selectedDocTypes)
{...}
答案 0 :(得分:0)
假设您已在JavaScript中正确定义selectedDocTypes
作为数组,您必须在ajax调用中指定contentType
发送到服务器,例如:
$.ajax(landforceAPIURL + '/AddNewIssue', {
cache: false,
data: Data,
contentType: "application/json; charset=utf-8", //content type send to sever
答案 1 :(得分:0)
我是@haz评论的第二个。
但是对于这个问题,这个答案似乎涵盖了它:https://stackoverflow.com/a/13255459/4349196。
另一种可能的解决方案是使用自定义JavaScript构建如下的URL:
...accountSID=jSmith&selectedDocTypes=23&selectedDocTypes=45&selectedDocTypes=78
请参阅此处查看相关示例:http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/。