2012-03-08 29 views
5

This article estadosMVC 3 Html.RenderPartial vs Html.Partial

Hay algunos casos en los que pueden gustar a un lado y escribir directamente a la corriente de respuesta HTTP en lugar de tener una vista parcial rendir los resultados (parciales/vistas usan MvcHtmlString/StringWriter)

Use Html.RenderPartial para transmitir imágenes u otros elementos que estén centrados en los medios o donde los tiempos de descarga más rápidos sean muy importantes.

¿Qué gastos generales hace MvcHtmlString/StringWriter introducir? ¿Hay inconvenientes para usar Html.RenderPartial todo el tiempo, si hay menos sobrecarga?

no pude encontrar respuestas en MSDN:

http://msdn.microsoft.com/en-us/library/ee402902.aspx

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

Respuesta

1

El único "inconveniente" para renderPartial es que usted no tiene ninguna oportunidad de manipular el resultado antes de renderizar. Entonces, si desea verificar el resultado, puede usar Html.Partial y almacenar el resultado, etc. Para ser honesto, no puedo pensar en una buena razón para hacerlo, pero no significa que no haya ninguno.

De modo que a menos que necesite acceder a esa "costura", no hay inconveniente en llamar a RenderPartial.

3

La desventaja es que usted tiene que escribir el código menos legible. con Html.Render se escribe (1):

@Html.Partial("ViewName", modelObj) 

mientras que con Html.RenderPartial usted tiene que escribir

@{ Html.RenderPartial("ViewName", modelObj); } 

o (2)

Html.RenderPartial("ViewName", modelObj); 

dependiendo del contexto de sintaxis (la sintaxis 2 que usará en los bloques de sintaxis como if o foreach, mientras que la sintaxis 1. Esto afectará la forma en que escribirá los métodos de extensión para la clase HtmlHelper, y usted ll usarlos.

Cuestiones relacionadas