2012-04-24 2 views
2

У меня есть 3-х классов с ниже определениемпроводки Пользовательские объекты в методе MVC3 действия через JQuery AJAX

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 vars в класс Obj, а затем отправить его в действие контроллера MVC через пост AJAX?

+0

Когда вы создаете вопрос, он обычно показывает связанные вопросы, основываясь на том, что вы печатаете. Вы смотрели на них? Следующая ссылка кажется * очень * похожей на вашу: http://stackoverflow.com/questions/6031206/posting-array-of-json-objects-to-mvc3-action-method-via-jquery-ajax – MilkyWayJoe

ответ

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

Самый простой способ сделать это из коробки со всеми частями, счастливыми (jQuery, MVC Framework) - сериализовать граф объектов как данные JSON на клиенте и передать его в POST. MVC Framework на самом деле неплохо сортирует модель для вас.

Существует загружаемый образец с подобным сложным объектом здесь: http://theycallmemrjames.blogspot.ca/2010/05/aspnet-mvc-and-jquery-part-4-advanced.html

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

Cheers.

Смежные вопросы