2015-08-07 1 views
1
<table> 
@{var counter = 1; } 
<tr> 
    @foreach (var item in Model) 
{ 
     <td> 
      @Html.DisplayFor(modelItem => item.courseName) 
      @Html.DisplayFor(modelItem => item.courseSubject) 
      @Html.DisplayFor(modelItem => item.institute) 
     </td> 
     if (counter % 3 == 0) 
    { 
      @:</tr><tr> 
    } 
} 
     </tr> 
</table> 

Я хочу отображать записи в таблице с тремя столбцами на строку. Так я и пытался. Но все же все записи в одной строке. Как я могу это сделать.Показать записи в таблице с фиксированным числом столбцов

ответ

1

Вам необходимо обновить переменную счетчика внутри цикла. Это должно сделать это.

<table> 
    @{var counter = 1; } 
    <tr> 
     @foreach (var item in Model) 
     { 
      <td> 
       @Html.DisplayFor(modelItem => item.courseName) 
      </td> 
      if(counter%3 == 0) 
      { 
       @:</tr><tr> 
      } 
      counter++; 
     } 
    </tr> 
</table> 
+0

yeh: D thanks @Shyju –

0

Если я правильно читаю ваш вопрос, вы хотите, чтобы 3 колонки за строку?

Если это так, сделайте следующее изменение в своей структуре HTML. Вам нужно добавить три <td> элементов, чтобы сделать три колонки

@foreach (var item in Model) 
{ 
    <td> 
     @Html.DisplayFor(modelItem => item.courseName) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.courseSubject) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.institute) 
    </td> 
    if (counter % 3 == 0) 
    { 
     @:</tr><tr> 
    } 
} 

Как Shyju предложил в своем ответе, я не совсем уверен, что вы делаете со счетчиком там, как это не увеличивается на каждой итерации петля.