Опитвам се да управлявам роли в приложение MVC3. Идеята е, че имам списък с потребители и когато щракна върху бутона Редактиране на роли в реда, получавам модален прозорец със списък на всички възможни роли с отметнати тези, на които потребителят е член.
След това мога да избера новите роли и да щракна върху запазване и да изпратя ajax публикация обратно на сървъра, за да запазя промените.
Имам изскачащ модал, но не съм сигурен как да генерирам квадратчетата за отметка по начин, който лесно да се изпрати обратно на сървъра при промяна. Искам възможно най-простото решение.
Ето какво имам за частичния изглед, с който модалът се попълва, когато щракнете върху Редактиране на роли:
public ActionResult ChooseRolePartial(string username)
{
var userRoles = Roles.GetRolesForUser(username);
var list = new MultiSelectList(Roles.GetAllRoles());
foreach (var item in list)
{
item.Selected = userRoles.Contains(item.Value);
}
var model = new ChooseRoleModel
{
Roles = list,
Username = username
};
return PartialView("Partials/ChooseRolePartial", model);
}
Надявах се, че има EditorFor за MultiSelectList и всичко ще бъде обработено вместо мен. Но изглежда това не е така. Просто прави текста фалшив за всяка от моите роли.
Кой е най-добрият начин да генерирате този списък с квадратчета за отметка и да изпратите отметнато заедно с потребителското име обратно на сървъра?