29 votes

Comment utiliser EditorFor dans un foreach

J'ai un modèle:

 public class MyListModel
{
    public int ID {get;set;}
    public List<User> Users{get;set;}
}
 

Comment utiliser la méthode Html.EditorFor dans un foreach?

 @model MyListModel
<table>
  <tr>
    <th></th>
  </tr>
  @foreach (var item in Model.Users) {
     <tr>
       <td>
          @Html.EditorFor(item.Enabled)
       </td>
     </tr>
  }
</table>
 

50voto

Alexander Taran Points 3907
@Html.EditorFor(x=> item.Enabled)

7voto

Jamie Points 101
 @for (var i = 0; i < Model.Users.Count; i++)
{
<tr>
    <td>@Html.EditorFor(model => model.Users[i].Enabled)</td>
    <td>@Html.EditorFor(model => model.Users[i].FirstName)</td>
    <td>@Html.EditorFor(model => model.Users[i].LastName)</td>
</tr>
}
 

De plus, certaines variables cachées pour au moins une propriété de l'utilisateur sont requises:

 @for (var i = 0; i < Model.Users.Count; i++)
{
    @Html.HiddenFor(model => model.Users[i].FirstName)
}
 

Pas ce que vous appelleriez élégant, mais cela fonctionne en ce qui concerne la reliure dans votre action de post.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X