循环bools并创建checkboxFor

use*_*962 2 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; }
   }
Run Code Online (Sandbox Code Playgroud)

在我看来,我尝试遍历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)
         }      
Run Code Online (Sandbox Code Playgroud)

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

And*_*i V 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)
} 
Run Code Online (Sandbox Code Playgroud)