型号:
public class UserViewModel
{
public UserDetail user { get; set; }
public List<int> SelectedRoles { get; set; }
}
HttpGet行动:
public ActionResult Index()
{
ViewBag.Roles = list of roles (List<Roles>)
return View();
}
查看:
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
foreach (var item in ViewBag.Roles)
{
<input id="SelectedRoles" name="SelectedRoles" type="checkbox" value="@item.Id" >
@item.Name
}
<input type="submit" value="Submit"/>
}
HttpPost行动:
[HttpPost]
public ActionResult CreateUser(UserViewModel model, FormCollection form)
{
foreach (int roleId in model.SelectedRoles)
{
Here I am getting IDs of SelectedRoles as roleId
}
}
在HttpPost上我想要保留我选择的复选框值。如何在MVC3中做到这一点?
答案 0 :(得分:0)
看起来复选框绑定到ViewBag上的属性。您必须在post操作中重新分配ViewBag上的角色,以便在执行post操作后呈现视图时可以反弹UI。 viewbag不会在不同的视图渲染之间保留,因此必须重置