Foreach sur la propriété IEnumerable et CheckBoxFor dans ASP.Net MVC

Je crois que cette question s'applique à tout de la "Pour" Html helpers, mais mon problème est à l'aide de CheckBoxFor...

J'ai un modèle qui est de type IEnumerable, où les droits est une simple POCO. Ce modèle est en fait une propriété d'un plus grand modèle que j'ai créé un EditorTemplate pour. Ici est la plus grande image de mon modèle:

public class bigmodel
{
     public string Title {get; set;}
     public string Description {get; set;}

     [UIHint("ListRights")]
     public IEnumerable<rights> Rights {get;set;}
}

public class rights
{
    public bool HasAccess {get; set;}
    public string Description {get;set;}
}

J'ai créé un editortemplate appelé "ListRights" que ma vue principale utilise. Par exemple: <%=Html.EditorFor(m => m.Des droits de l') %>.

Dans ListRights.ascx, je veux un code comme ceci:

<table>
  <% foreach(rights access in Model)
  { %>
      <tr>
        <td>
            <%=Html.CheckBoxFor( access ) %>
        </td>
        <td>
            <%=access.Description %>
        </td>
      </tr>
  <% } %>
</table>

Je sais que le CheckBoxFor ligne ne fonctionne pas, mais je veux faire quelque chose qui génère le même résultat, comme si l'accès a été une propriété sur le modèle.

Dans l'exemple ci-dessus, je voudrais tout d'autobind sur le post.

J'ai essayé de simuler la Case avec un code similaire à cela, mais il n'a pas autobind:

<table>
  <% for(int i=0; i < Model.Count(); i++)
  { %>
      <tr>
        <td>
            <%=Html.CheckBox(string.Format("[{0}].HasAccess",i), Model.ElementAt(i).HasAccess)%>
        </td>
        <td>
            <%=access.Description %>
        </td>
      </tr>
  <% } %>
</table>

Des suggestions?

source d'informationauteur Mike Therien