如何将数组转换为List <string>以将正确的参数传递给Controller </string>

时间:2012-01-13 13:34:50

标签: c# jquery asp.net asp.net-mvc-3

我有以下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;
      }

在调试模式下,当我想通过AJAX发送sendInfo对象时,我看到Groups为空(在Controller页面中)。

我想知道是否有什么问题,或者是Javascript代码中的其他方法。我不想更改Something模型结构。

谢谢

1 个答案:

答案 0 :(得分:3)

你应该像这样使用JSON.stringify

$.post('/Home/Add', JSON.stringify(sendInfo), function(msg) { alert(msg.data }, 'json');