De acuerdo con Brad Wilson, RenderAction es más lento que RenderPartial.RenderAction vs RenderPartial rendimiento
Sin embargo, ¿alguien ha obtenido alguna estadística que demuestre la diferencia en el rendimiento?
Estoy en el proceso de desarrollar una aplicación donde las páginas se componen de "Widgets".
que tienen dos opciones:
Composición en la vista al nivel
RenderAction de llamadas para cada widget. Este es de lejos el enfoque más fácil, pero significa que estamos realizando un ciclo de MVC completo para cada widget.
Composición a nivel del controlador
Componer un modelo de vista de la página que contiene los datos que necesitamos para cada widget. Llame a RenderPartial para cada widget. Esto es mucho más complicado de implementar, pero significa que haremos solo un ciclo de MVC.
Probé los enfoques anteriores con 3 widgets diferentes en una página y la diferencia en el tiempo de renderizado fue de décimas de segundo (apenas vale la pena preocuparse).
Sin embargo, ¿alguien ha obtenido resultados de pruebas más concretos que este, o tal vez experimenta con ambos enfoques?
+1 para la sugerencia DisplayFor(). Actualmente estoy delegando la responsabilidad de representación en el widget, así que simplemente llamo '@ widget.Render (Html)' y el widget puede usar 'HtmlHelper' para renderizarse. Dicho esto, puedo hacer que esta delegación sea opcional y simplemente llamar 'DisplayFor()' de forma predeterminada. –