我正在使用javascript代码将数据发送到一个用C#编写的控制器操作。当我尝试在javascript中传递整数数组时,我得到了一个空值,如下所示:
var answers = [];
answers.push(1);
answers.push(2);
answers.push(3);
我可以从javascript alert中看到这些值正在进入数组,因为当我尝试answers.tostring时,我得到了预期的值"1,2,3“,然后我尝试了下面的postdata
var postData = {
'surveyID': surveyID,
'questionID': questionID,
'answers': answers,
'answerText': null,
'comment': comment,
'questionType': questionType
};
这是针对以下控制器操作的,但整数数组似乎没有传递到控制器操作,因为我的列表始终为空
[HttpPost]
public PartialViewResult GoForward(int surveyID, int questionID, List<int> answers, string answerText, string comment, string questionType)
{}
有人知道如何将postdata数组转换为非空的列表吗?
发布于 2014-04-23 02:15:06
因为MVC期望数据采用QueryString模式,如下所示:
answers=1&answers=2&answers=3
如果使用jQuery进行AJAX,则缺省值为
answers[]=1&answers[]=2&answers[]=3
您可以尝试traditional
选项
$.ajax({
//...
traditional:true,
//...
});
https://stackoverflow.com/questions/23232639
复制相似问题