2011-03-04 41 views
1

它是一般情况下最好避免调用呈现在一个循环的情况部分...在循环中调用RenderPartial:尽可能避免?

<% foreach (var buildingRate in locationBuildingRate.BuildingRates) 
    { 
     Html.RenderPartial("LocationBuildingRate", buildingRate); 
    } 
%> 

,而是允许部分内部渲染循环?第二种方法避免了很多开销吗?

Html.RenderPartial("LocationBuildingRate", locationBuildingRate.BuildingRates); 

回答

1

是的。在循环中调用渲染部分会为每次运行请求渲染引擎。更好地做第二种方法,你在部分内循环..

0

处理这个问题的最好方法是利用EditorTemplates和DisplayTemplates,它基本上呈现一个部分,但更便宜。

+0

是不是只是将循环代码移到部分内的问题?模板提供了什么好处? – CRice 2011-03-04 05:00:34

+0

http://stackoverflow.com/questions/5037580/asp-net-mvc-3-partial-vs-display-template-vs-editor-template/ – 2012-09-11 15:59:59