使用CheckBoxFor

时间:2011-01-26 11:39:25

标签: asp.net-mvc asp.net-mvc-3

我的课程角色如下;

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 ...请问我有一个例子。

3 个答案:

答案 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)

我在你的另一个问题上回答了这个和你的另一个问题。没有理由针对同一问题提出多个问题,您可以编辑自己的问题。

Difficulty in filling list while comparing arrays