9
我有一个类如下CheckBoxList的多重选择:难度模型绑定背部
public class UserRoleModel
{
public string Role { get; set; }
public bool UserRole { get; set; }
}
和public UserRoleModel[] UserRoles { get; set; }
我的控制器如下:
public ActionResult CreateUser()
{
UserDetailsModel model = new UserDetailsModel();
return View(model);
}
[HttpPost]
public ActionResult CreateUser(UserDetailsModel model)
{
return View(model);
}
在我看来,我有
>@foreach (var item in Model.UserRoles)
{
name = "UserRoles"+ ".Value["+ i + "]";
id= "UserRoles" + "_Value[" + i++ + "]";
selected = item.UserRole ? "checked=\"checked\"" : "";
<p>
<input type="checkbox" name="@name" id="@id" @selected value="true" />
<label for="@id">@item.Role</label>
<input type="hidden" name="@name" value="false" />
</p>
}
尽管在我的视图中相应地显示了值,但UserRoles没有模型绑定。我错过了什么或有没有更好更清洁的方法?
有一件事我没有注意到,直到我真的尝试过它 - @ Html.EditorFor(x => x.Roles)实际上将遍历集合。干净的确。 – chris 2012-03-13 16:51:24