我正在使用javascript代码将数据发布到用C#编码的控制器动作。尝试在javascript中传递一个整数数组时,我得到一个空值,如下所示:
var answers = [];
answers.push(1);
answers.push(2);
answers.push(3);
我可以从javascript警告中看到,当我尝试answer.tostring时,值将进入数组我按预期获得值“1,2,3”,然后我尝试以下postdata
var postData = {
'surveyID': surveyID,
'questionID': questionID,
'answers': answers,
'answerText': null,
'comment': comment,
'questionType': questionType
};
这是针对以下控制器操作但是整数数组似乎没有传递到控制器操作,因为我的List始终为null
[HttpPost]
public PartialViewResult GoForward(int surveyID, int questionID, List<int> answers, string answerText, string comment, string questionType)
{}
我知道如何将postdata数组转换为非空的List吗?
答案 0 :(得分:0)
因为MVC期望QueryString模式中的数据如下所示:
答案= 1&安培;答案= 2及答案= 3
如果你使用jQuery来做AJAX,默认是
答案[] = 1&安培;答案[] = 2及答案[] = 3
您可以尝试traditional
选项
$.ajax({
//...
traditional:true,
//...
});