简体   繁体   English

通过JSON从-ASP.Net MVC2表单发布对象数组

[英]Post an Array of Objects via JSON from a form -ASP.Net MVC2

I trying to post an array of objects when a form is post, but I always gets an empty list in the controller 我试图在发布表单时发布对象数组,但是我总是在控制器中得到一个空列表

JavaScript 的JavaScript

function defineuser(userList) {
   var user = null;
var userAppModuleItemList = new Array();

    for (var i = 0; i < userList.length; i++){
        values = userList[i].split(",");
        user = {
            ID: values[0],
            Name: values[1],
            LastName: values[2]
        };
     userAppModuleItemList.push(user );
    }

    $("#userList").val(userAppModuleItemList);
};

View 视图

<%using (Html.BeginForm("UpdateUser", "User", FormMethod.Post, new { id = "userForm" }))
  {%>
<%=Html.Hidden("userList")%>
...
<%}%>

Contoller 控制器

[HttpPost]
public JsonResult UpdateUser(List<UserDTO> userList)
{
    // The userList is null
}

User Class definition 用户类别定义

public class UserDTO
{
    public int ID { get; set; }
    public string Name { get; set;}
    public string LastName { get; set; } 
}

Thanks for your help 谢谢你的帮助

try traditional : true to post array object 尝试traditional : true以发布数组对象

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM