比方说,我已经在波纹管模型ASP.NET MVC如何绑定List <T>类型的属性?
public class UserInformation
{
public List<UserInRole> RolesForUser { get; set; }
//Other properties omitted...
}
public class UserInRole
{
public string RoleName { get; set; }
public bool InRole { get; set; }
}
在我的网页我有类似
<%using(Html.BeginForm()){%>
.../...
<%for(int i =0; i<Model.InRoles.Cout; i++%>
<p><%: Html.CheckBox(Model.Roles[i].RoleName, Model.Roles[i].InRole)%></p>
<%}%>
的想法是能够检查/取消选中该复选框,这样,当窗体发布通过在每个角色中添加/删除用户,操作可以适当地执行。
问题是当表单发布到操作方法时,Roles属性(它是一个列表UserInRole对象)不反映用户所做的更改。 ModelBinder适用于所有其他属性,但'角色属性'
我想知道我该怎么做。我怀疑赋予复选框的名称/ ID不合适。但是,我只是堆栈。也许我应该以不同的方式做。
感谢您的帮助
[复杂模型绑定到一个列表(的可能重复http://stackoverflow.com/questions/231878/complex-model-binding-to-a -list) – jfar 2010-11-12 13:04:58