Как передать массив множественного выбора в действие контроллера mvc3 через $ .get? - PullRequest
0 голосов
/ 09 декабря 2011

Как отправить обратно массив значений обратно в действие контроллера через $ .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 голосов
/ 09 декабря 2011

Следующее даже не получалось

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

Но это исправлено:

jQuery.ajaxSettings.traditional = true;

Здесь - хорошая статья , описывающая проблему.

Со следующим контроллером ActionResult Sig:

[HttpPost]
public ActionResult GO(string[] values)
{
    // junk is no longer null!
}
0 голосов
/ 09 декабря 2011

Похоже, ваш val - это список целых чисел через запятую. Если это всегда можно гарантировать как ввод, вы можете просто взорвать () эту строку в вашем действии (используя запятую в качестве разделителя). Это даст вам хороший массив выбранных значений для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...