Я только что изменил представление MVC2 с использования частичного представления в цикле на одно представление, т.е.:
<table>
foreach(var a in items)
{
<%: Html.Partial("SomePartialView",a) %>
}
</table>
Где SomePartialView содержит код для отображения одной строки в таблице, например:
<tr><td>Model.Name</td><td>Model.description</td></tr>
до:
foreach(var a in items)
{
<tr><td>a.Name</td><td>a.description</td></tr>
}
для представления, отображающего 900 строк, время отображения страницы сократилось с 5+ минут загрузки страницы до менее 30 секунд, что является довольно убедительным доказательствомэто значительные издержки при вызове частичных представлений.Я уверен, что это незначительно, когда у вас есть один вызов, однако в цикле все складывается, поэтому я рекомендовал бы по возможности избегать частичных представлений в цикле.