我的课程角色如下;
public enum Role
{
User1 = 1,
User2 = 2,
User3 = 3,
User4 = 4
}
我的模型中有以下代码
public Role[] UserRoles { get; set; }
User user = User.Load(1);
UserRoles = user.Roles;
我的问题如下: 我希望每个Role都有一个复选框,如果Role == userRoles,则复选框为true,否则为false。我怎样才能使用@ HTml.CheckboxFor ...请问我有一个例子。
答案 0 :(得分:4)
使用CheckBoxFor你需要一个带有bool属性的ViewModel
public class YourVM
{
public bool[] Roles {get;set;}
}
并在视图中
@model YourVM
@for (int i = 0; i < Model.Roles.Count(); i++) {
@Html.CheckBoxFor(m => m.Roles[i])
}
答案 1 :(得分:2)
如果您尝试根据数据库中的数据创建复选框列表,那么您将不会使用硬编码值。
你可以试试我的CheckBoxListFor&lt;&gt;扩展:
How to create a CheckBoxListFor extension method in ASP.NET MVC?
答案 2 :(得分:0)
我在你的另一个问题上回答了这个和你的另一个问题。没有理由针对同一问题提出多个问题,您可以编辑自己的问题。