【发布时间】:2011-05-09 00:08:21
【问题描述】:
假设我有波纹管模型
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 在所有其他属性上都能正常工作,但 'Roles property'
我想知道我该怎么做。我怀疑为复选框提供的名称/ID 不合适。但是,我只是堆栈。也许我应该换个方式。
感谢您的帮助
【问题讨论】: