繁体   English   中英

将整数数组从JavaScript传递到List的控制器操作<int>

[英]Passing an array of integers from JavaScript to a controller action of List<int>

我正在使用JavaScript代码将数据发布到以C#编码的控制器操作中。 尝试通过以下方式创建的javascript中传递整数数组时,出现了空值:

var answers = [];
answers.push(1);
answers.push(2);
answers.push(3);

我可以从javascript警报中看到,当我尝试Answers.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数组转换为不为null的List?

因为MVC希望以QueryString模式显示数据,如下所示:
answer = 1&answers = 2&answers = 3

如果您使用jQuery进行AJAX,则默认值为
答案[] = 1&answers [] = 2&answers [] = 3

您可以尝试traditional选项

$.ajax({
  //...
  traditional:true,
  //...
});

请参阅https://api.jquery.com/jQuery.ajax/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM