2012-04-24 28 views
2

我有3个班,下面的定义发布通过jQuery AJAX的自定义对象MVC3操作方法

public class UserRole 
    { 
     public User User { get; set; } 
     public IEnumerable<Role> Role { get; set; } 
    } 
public class Role 
{ 
    public int Id{ get; set; } 
    public string RoleName{ get; set; } 
} 
public class User 
{ 
    public int Id{ get; set; } 
    public string UserName{ get; set; } 
} 

这是操作方法:

// GET: /Admin/UserManagement/Create 
     [HttpPost] 
     [Transaction] 
     public ActionResult Save(UserRole userrole) 
     { 
     } 

有jQuery的办法序列化一些JavaScript变成一个类Obj,然后通过AJAX发送给MVC控制器动作?

+0

当您创建问题时,通常会根据您输入的内容显示相关问题。你看过他们吗?以下链接似乎*非常类似于你的:http://stackoverflow.com/questions/6031206/posting-array-of-json-objects-to-mvc3-action-method-via-jquery-ajax – MilkyWayJoe 2012-04-24 01:54:58

回答

16

你可以发送JSON请求:

var data = { 
    user: { 
     id: 5, 
     userName: 'john' 
    }, 
    role : [ 
     { id: 1, roleName: 'role 1' }, 
     { id: 2, roleName: 'role 2' }, 
     { id: 3, roleName: 'role 3' } 
    ] 
}; 

$.ajax({ 
    url: '@Url.Action("Save")', 
    type: 'POST', 
    contentType: 'application/json', 
    data: JSON.stringify(data), 
    success: function(result) { 
     alert('success'); 
    } 
}); 

JSON.stringify方法本身内置到现代的浏览器,但如果你需要支持旧版浏览器,你可以包括json2.js脚本。

1

开箱即用的开箱即用的最简单的方法就是将对象图形序列化为客户端上的JSON数据并将其传递到POST中。 MVC框架实际上非常适合为您排序模型绑定。

有一个可下载的样品与此处类似复杂的对象: http://theycallmemrjames.blogspot.ca/2010/05/aspnet-mvc-and-jquery-part-4-advanced.html

它在若干不同的场景模型绑定交易。查看您的需求的手提箱示例。免责声明:这是我的博客,希望不要冒犯。

干杯。

相关问题