Это хорошее место для создания метода расширения. Вот несколько почти компилируемых псевдокодов C #:
public static void IDunnoWhatToCallThis<T>(
this HtmlHelper me,
T[] items,
int columns,
Action headerTemplate,
Action<T> itemTemplate,
Action newRowTemplate,
Action footerTemplate )
{
headerTemplate();
for(int i = 0;i < items.Length; i++)
{
if(i != 0 && i%columns == 0)
newRowTemplate();
itemTemplate(items[i]);
}
footerTemplate();
}
А вот пример использования:
<% Html.IDunnoWhatToCallThis(
ViewData.Model.ItmXtnMultimedia,
4,
() => %><table><tr><%,
(item) => %><td><%= item.ImgTag100 %></td><%,
() => %></tr><tr><%,
() => %></tr></table><%);%>
Я ЛЮБЛЮ таких помощников, смешиваю встроенный код, лямбды и разметку. Это как смотреть магию.