2016-02-20 4 views

ответ

2

Да, вы можете использовать петлю foreach внутри петли foreach. Однако вы можете только перебирать свойство своей модели, которая реализует интерфейс IEnumerable. Возьмем, к примеру, образец модели.

public class Team 
{ 
    public int ID { get; set; } 
    public string Name { get; set; }  
    public DateTime Founded { get; set; } 
    public List<Member> Members { get; set; } 
} 

И Member.cs быть

public class Member 
{ 
    public int ID { get; set; } 
    public string FullNames { get; set; } 
    public string Role { get; set; } 
    public DateTime DateJoined { get; set; } 
} 

На ваш взгляд, если вы хотите перебрать коллекцию команды с и список имен членов, то вы можете сделать это

@model IEnumerable<Team> 

<table> 
<thead> 
    <tr> 
     <th>@Html.DisplayNameFor(a => a.Name)</th> 
     <th>@Html.DisplayNameFor(a => a.Founded)</th> 
     <th>Players</th> 
    </tr> 
</thead> 
    @foreach (var team in Model) 
    { 
     <tr> 
      <td>@Html.DisplayFor(a => team.Name)</td> 

      <td>@Html.DisplayFor(a => team.Founded)</td> 

      <td> 
       @foreach (var member in team.Members) 
       { 
        <div> 
         @Html.DisplayFor(a => member.FullNames) 
        </div> 
       } 
      </td> 

     </tr>   
    }   
</table> 

Как вы можете видеть, я повторяю все команды с указанием имен и оснований, а также полных имен членов для каждой команды

0

Если вы хотите построить таблицу вы можете сделать это с столом тег, но рекомендую использовать Html WebGrid.

<table> 
    <tr> 
     <th> 
      name 
     </th> 
    </tr> 
    @foreach (var item in Model.Items) 
    { 
     @Html.HiddenFor(modelItem => item.Id) 
     <tr> 
      <td> 
      @foreach (var item2 in item.AnotherCollection) 
      { 
       ... 
      } 
      </td> 
     </tr> 
    } 
</table> 
+0

Я хочу поставить foreach здесь в – Sultan

+0

@ سلطان اليامي см. Пример –

+0

@AndreyBurykin Интересно, как вы написали имя OP на арабском? –

Смежные вопросы