通过AJAX将数组传递给mvc Action?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我想通过AJAX将int数组(或IEnumerable)传递给MVC Action

javascript是

$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {...

并且控制器的Action是

public ActionResult MyAction(IEnumerable<int> arrayOfValues )

目前请求被格式化为

controller/MyAction?_=1301503418429&arrayOfValues[]=491&arrayOfValues[]=368&arrayOfValues[]=235&arrayOfValues[]=437

如何将该数组传递给我的get,以便控制器可以识别它是什么?

提问于
用户回答回答于

在进行GET调用之前,将传统属性设置为true。即:

jQuery.ajaxSettings.traditional = true

$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {... 
用户回答回答于

traditional必须设置为true

 var arrayOfValues = new Array();

 //Populate arrayOfValues 
 $.ajax({ 
      type: "POST",
      url: "<%= Url.Action("MyAction","Controller")%>",
      datatype: "json",
      traditional: true,
      data: { 'arrayOfValues': arrayOfValues }              
 });

扫码关注云+社区