2012-10-03 12 views
32

Estoy trabajando en una nueva aplicación ASP.NET MVC 4. Realmente estoy tratando de hacer las cosas de la manera "MVC". En particular, estoy interesado en usar el motor de vista Razor. Tenga en cuenta que procedo de un fondo de formularios web, por lo que mis preguntas pueden parecer incómodas.Equivalente de control de usuario en ASP.NET MVC 4

Estoy tratando de saber si hay algo equivalente a los controles de usuario en MVC? Si es así, ¿cómo se llaman? Si no, ¿cuál es la forma recomendada de crear un componente reutilizable en MVC?

Respuesta

11

Para crear un componente HTML reutilizable en MVC, puede crear una vista parcial en la carpeta Views/Shared y usar @HTML.Partial("_PartialViewName") para incluirlo en cualquier otra vista o vista parcial. Puede encontrar más información sobre vistas parciales en este article.

+1

Puede crear los parciales en cualquier lugar; la sintaxis 'corta' que utilizó allí buscará en las carpetas actual y 'Compartida '. La ruta completa de la aplicación se puede cargar desde cualquier lugar (ni siquiera en la carpeta 'Views', de hecho) –

+0

@AndrewBarber, ¿puede ampliar eso con un ejemplo de código? ¿Cómo sería el uso de la ruta relativa a la aplicación? –

+1

@eric '@ Html.Partial (" ~/OtherDir/File.cshtml ");' –

28

Está buscando @Html.Action y @Html.Partial.

Le permiten representar partial view o controller action en una vista. Este es un patrón común de reutilización en tierra MVC.

Ocasionalmente, usted querrá hacer displayFor or editorFor templates, si la acción de un controlador es demasiado pesada. La regla de oro es que si necesita hacerlo varias veces en la página y necesita ser publicado en un formulario, piense en hacerlo en una plantilla.

Los controles en asp.net cubren una franja bastante grande que MVC granulariza un poco más.

+1

+1 para no olvidar las plantillas de Editor y Pantalla. –

Cuestiones relacionadas