Как преобразовать массив в список <string>для передачи правильного параметра в контроллер - PullRequest
0 голосов
/ 13 января 2012

У меня есть следующий код JavaScript:

 var groupArray = [];
      groupArray.push($("#group").val());
      var sendInfo = { Id: 0,
         Name: $("#disc-name").val(),
         Groups: groupArray,
         Description: $("#disc-description").val()
      };
$.post('/Home/Add', sendInfo, function(msg) { alert(msg.data }, 'json');

Контроллер:

[HttpPost]
       public JsonResult Add(Something parameters) {

          return Json( new {
             data = _something.AddSomething(parameters)
          },
          JsonRequestBehavior.AllowGet);
       }

и Something модель:

public string Name {
         get;
         set;
      }

      public List<string> Groups {
         get;
         set;
      }

      public int Id {
         get;
         set;
      }

      public string Url {
         get {
            return FriendlyUrl.Slugify( this.Name );
         }
      }

      public string Description {
         get;
         set;
      }

В режиме отладки, когда я хочу отправить объект sendInfo через AJAX, я вижу, что Groups является нулевым (на странице контроллера).

Я хочу знать, если что-то не так или это другой способ сделать трюки в коде Javascript. Я не хочу менять структуру модели Something.

Спасибо

1 Ответ

3 голосов
/ 13 января 2012

Вы должны использовать JSON.stringify, как это

$.post('/Home/Add', JSON.stringify(sendInfo), function(msg) { alert(msg.data }, 'json');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...