循环RenderPartials和在Partial中循环之间是否存在性能差异?

时间:2012-06-01 15:45:02

标签: asp.net-mvc-3 razor

其中哪一项效果会更好:

  

在父页面上:

foreach(var m in model)
{
   @Html.RenderPartial("PartialPage", m);
}
     

在部分:

<h2>@m.thang</h2>

  

在父页面上:

@Html.RenderPartial("PartialPage", model);
     

在部分:

foreach(var m in model)
{
 <h2>@m.thang</h2>
}

由于某些我不知道的原因,我的直觉告诉我第二个版本会更好,但我没有基础。

1 个答案:

答案 0 :(得分:0)

第一个会慢一点,因为你有查找局部视图的开销。 我不认为差异会很明显。

组织您的观点并考虑维护和重用 - 您是否更有可能重复使用单个项目或多个项目的视图?

此外,使用Display / Editor templates如果您有单个项目的模板,您仍然可以呈现集合,MVC将为每个模型调用您的模板。无需手动循环。