2009-10-07 30 views
21

¿Cuál es la mejor forma de compartir una Vista parcial común entre aplicaciones? He creado un conjunto separado que contiene mi Vista parcial en un archivo ascx, algunos scripts que acompañan a esa vista y un método de extensión HtmlHelper para facilitar la creación de la vista parcial. Sin embargo, al hacer referencia a ese ensamblaje desde una aplicación ASP.NET MVC, no puede encontrar la vista parcial ya que el archivo ascx no se copia también. Además, ¿cuál es la mejor manera de incluir los scripts adjuntos con la aplicación? La única forma en que puedo ver en este momento es copiar los archivos relevantes a la nueva aplicación.Compartir vistas parciales ASP.NET MVC entre proyectos

Respuesta

7

Una buena pregunta de hecho.

Sugeriría evitar archivos ascx y generar HTML manualmente en sus ayudantes de HTML. La clase TagBuilder hace una gran ayuda aquí.

2

Esto es un problema continuo incluso con WebForms. Compartir esto no es fácil.

Mi enfoque preferido ahora es crear mis controles como mvc WebControls o como jQuery plugins. De esa forma puedo pasar un DLL versionado o un archivo de script.

Me inclino mucho hacia las soluciones WebControls porque, como dije, puedo versionarlas y ponerlas en el marco de infraestructura de la compañía.

Entonces uso (solo) PartialViews para renderizar los controles web y agregar un toque básico, marcado o contenido.

4

This post explica cómo incrustar una vista en una DLL y procesarla desde un proyecto diferente. Supongo que funcionará también para los parciales, pero no lo he intentado.

0

Nuestro enfoque con WebForms ha sido crear un directorio virtual de IIS para controles de usuarios compartidos. ¿Este enfoque funciona con MVC?

Cuestiones relacionadas