循环bools并创建checkboxFor

时间:2014-08-16 12:54:16

标签: asp.net-mvc

这是我的两个班级:

public class NotifyUser : ContentPage
    {
       public NotifyUser()
       {
           Namn = "";
           Friends = new List<FriendStatus>();
       }
        public string Namn { get; set; }
        public List<FriendStatus> Friends { get; set; }

    }

   public class FriendStatus
   {
       public FriendStatus()
       {
           Name = "";
           Checked = false;
       }
       public string Name { get; set; }
       public bool Checked { get; set; }
   }

在我看来,我尝试遍历NotifyUser类,显示name-property并为Checked-class添加checkboxFor / editor:

以下是我尝试的两种方法:

@foreach (var friend in Model.Friends)
        {
                @Html.Editor(frien.Name)           
                @Html.EditorFor(frien.Checked)
        }



 @for (int i = 0; i < Model.Friends.Count; i++)
        {

                <p>@Model.Friends[i].Name</p>

                @Html.CheckBoxFor(@Model.Friends[i].Checked)
         }      

这两个都给了我错误,当然必须有一个非常简单的方法来循环列表并有一个bool的复选框? 谢谢

1 个答案:

答案 0 :(得分:5)

CheckBoxFor扩展方法需要一个返回Boolean的表达式作为参数。您的示例设置 Boolean。改为这样改为:

@for (int i = 0; i < Model.Friends.Count; i++)
{
     <p>@Model.Friends[i].Name</p>

     @Html.CheckBoxFor(x => @Model.Friends[i].Checked)
}