vista partialview parcial net mvc example crear asp asp.net-mvc

asp.net mvc - partialview - ¿Método de extensión HtmlHelper vs vista parcial?



render partial view mvc 5 (4)

Tengo curiosidad sobre cuándo se recomienda usar el método de extensión HtmlHelper y cuándo usar la vista parcial? Parecen ser igualmente elegibles en muchos casos.


Es mucho más fácil escribir pruebas para ayudantes de HTML (que son solo métodos) que vistas parciales. Si estoy escribiendo algo que tiene lógica, como una salida diferente basada en el contenido de viewdata, entonces uso un ayudante con pruebas a su alrededor. Si estoy creando una parte de contenido reutilizable sin ninguna lógica real, entonces probablemente usaré una vista parcial.


HtmlHelpers: pequeños fragmentos de HTML (enlaces personalizados, botones, entradas, etc.)

Visiones parciales: elementos más complejos (formularios, encabezados, pies de página, elementos de lista, etc.)


Personalmente creo que la vista parcial es más o menos similar a usercontrol en asp.net, que actúa como un grupo de elementos funcionales reutilizables. Por ejemplo, si necesita crear un cuadro de control de inicio de sesión que pueda aparecer en todo el sitio, la vista parcial sería mejor. Además, la vista parcial es que, en realidad, es independiente con su propia estrategia de procesamiento / procesamiento (y también puede tener su propio estado)

Por otro lado, htmlhelper es solo herramientas para ahorrar tiempo de codificación y mantener, de alguna manera, mejor legibilidad en sus códigos.


Solo para agregar: utilizará htmlhelper para representar elementos en usercontrol, si los htmlhelpers existentes no pueden hacer el trabajo ... así que déjelo como una regla:

En el caso de que usar htmlhelper en lugar de usercontrol (vista parcial), el enfoque sea incorrecto y el caso de usar htmlhelper como ayudante para representar elementos atómicos de una página / usercontrol es un buen enfoque