I have tried all solution proposed to other, similar questions but none of them seems to work. In essence I am trying to display a table filled with data from collection of models. That in itself is not a problem, however I would like to force razor to generate it always in 3 columns (no matter how many elements we have). My original idea was to do it that way:
<table class="projects-grid">
<tr>
@for(int i = 0; i< Model.Count(); i++)
{
if (i != 0 && i % 3 == 0)
{
Html.Raw("</tr><tr>");
}
var item = Model.ElementAt(i);
<td class="project-tile">
@Html.DisplayFor(modelItem => item.Title)
</td>
}
</tr>
</table>
So in essence every third element I would like Razor to output "" string to add another row to the table. All seems to work fine other than this sting is not present in page source. In debug I can see that this line
Html.Raw("</tr><tr>");
Is actually called, but no output in generated page is present.
Any help? Many thanks in advance....