如何通过$ .get将多选数组值传递给mvc3控制器操作?

时间:2011-12-09 04:10:01

标签: asp.net-mvc-3 jquery

如何通过$ .get?

将一组值发送回控制器操作

我试过(string [] values)和(List)。

     ...
     var val = $('#CStatus').val();  // Get a list of selected values
     alert(val);   // Displays 0,1
            $.get('@Url.Action("GO")', {  junk: val }, function (data) {
                $('#gridview').html(data);
            });


    public ActionResult GO(List<String> junk /* or string[] junk or string junk*/)
    {
        // junk is null!
    }

2 个答案:

答案 0 :(得分:0)

看起来你的val是以逗号分隔的整数列表。如果这总是可以保证作为输入,你可以简单地在你的动作中爆炸()该字符串(使用逗号作为分隔符)。这将为您提供一系列精选的选定值。

答案 1 :(得分:0)

以下甚至失败

  $.post('@Url.Action("GO")', { 'values': [1,2,3]}, function (data) {
      ...
  });

但这解决了它:

jQuery.ajaxSettings.traditional = true;

Here是一个很好的article来描述这个问题。

使用以下Controller ActionResult Sig:

[HttpPost]
public ActionResult GO(string[] values)
{
    // junk is no longer null!
}