Обработка Viewmodel на сообщение - PullRequest
0 голосов
/ 24 ноября 2011

Недавно я изучал .MVC, и у меня возникли проблемы с пониманием того, как обрабатывать модель представления при отправке назад.Я следовал приведенному ниже примеру: http://www.shawnmclean.com/blog/2011/04/asp-net-mvc-multiple-check-boxes-in-an-array-or-list/#codesyntax_2 Моя проблема в том, как мы обрабатываем модель представления при повторной публикации, чтобы пользователь сохранял правильные роли?Нужно ли вручную извлекать значения из модели представления и назначать выбранные роли пользователю?

Вся помощь приветствуется!

Джеймс

1 Ответ

0 голосов
/ 24 ноября 2011

Да, вы должны.Это код из вашей ссылки, который обрабатывает это.Действие получает объект ViewModel и вызывает метод в некотором UserService, который выполняет фактическую работу:

[HttpPost]
public ActionResult EditUserRole(UserRoleViewModel model)
{
    List<Role> roles = model.Roles.Where(r => r.IsInRole)
            .Select(r => new Role {RoleId = r.RoleId, RoleName = r.RoleName})
            .ToList();
    userService.AddRolesToUser(model.UserId, roles);
    return View();
}
...