2008-09-25 24 views

Respuesta

8

Sí, puede tener sus páginas de formularios web y vistas de MVC mezcladas en un solo proyecto de aplicación web. Esto podría ser útil si tiene una aplicación que ya está construida y desea migrar su aplicación de formularios web a mvc.

Sin embargo, debe asegurarse de que ninguna de las páginas de sus formularios web vaya en el directorio 'Vistas' en una aplicación ASP.NET MVC estándar. Las páginas (o vistas) en el directorio 'Vistas' no se pueden solicitar directamente a través de la url.

Si está iniciando una aplicación desde cero, habría muy poco beneficio en mezclar ambas.

4

Sí. MVC es solo una implementación diferente de la interfaz IHttpHandler, por lo que ambas páginas clásicas de ASP.NET y ASP.NET MVC pueden coexistir en la misma aplicación.

-1

Si está mezclando MVC con otras metodologías, no está obteniendo realmente el beneficio de ello. El objetivo de MVC es permitirle disminuir el acoplamiento y aumentar la cohesión, y si solo la mitad de su código lo está haciendo, entonces la otra mitad inevitablemente restringirá su ciclo de desarrollo.

Por lo tanto, supongo que si bien es posible, no creo que valga la pena. Ve todo el camino o no vayas en absoluto.

+0

Sin duda, todo se trata de usar la mejor herramienta para la tarea. Algunas partes del proyecto pueden ser más adecuadas para MVC y otras para WebForms ... – Rob

+0

Si puedes separar las partes MVC de las partes que no son MVC, entonces sí, puedes intentarlo. Pero si ambos están tratando con las mismas estructuras de datos o presentando partes de la misma interfaz de usuario, yo personalmente desaconsejaría. –

0

Tendrá que asegurarse de que sus rutas MVC no entren en conflicto con sus formularios de páginas Web para que las peticiones de una página .aspx no se les encaminan a una acción de controlador como parámetro etc.

Ver this blog post por Phil Haack para obtener detalles sobre cómo evitar esto.

+0

enlace roto. Por favor, arregla. –

1

Como probablemente haya notado con las respuestas anteriores, sí, esto es muy posible de hacer.

De hecho tuve que hacer esto en mi proyecto actual. Pude obtener la aprobación para agregar MVC a nuestra aplicación, pero solo en la sección de administración (para limitar el riesgo de afectar a los miembros actuales que llegan a nuestro sitio).

El mayor problema que tuve fue la conversión de mi sitio web a una aplicación web, pero una vez hecho esto, las cosas fueron bastante sencillas al agregar MVC lado a lado de nuestras clásicas páginas web de código subyacente.

El truco para mí fue hacer que mis páginas MVC se vean lo más parecidas posible a las páginas con código subyacente para que la transición se vea lo más transparente posible.

1

Actualmente estoy trabajando en un nuevo proyecto. Si bien me gustaría recorrer la ruta de MVC hasta el final, algunos de los requisitos del proyecto no me permiten.

Uno de esos requisitos es tener una grilla de agrupación desde el lado del cliente. Personalmente he elegido Telerik Rad-Grid. Si bien pueden estar en el proceso de apoyar a MVC, todavía no están allí.

Esto significa que tengo que tener una solución híbrida. por el momento hasta que RadGrid sea totalmente compatible con MVC.
Mientras estamos en este período de transición, creo que habrá más proyectos híbridos hasta que el apoyo de los Controles de Terceros se pongan al día.

Saludos

Nathan

0

Sí, es muy posible para las páginas de MVC a coexisten con formas asp.net web. Implementé eso en mi aplicación asp.net existente para agregar nuevas características. Necesitamos asegurarnos de referirnos a las DLL de MVC, registrar las tablas de enrutamiento para el enrutamiento de URL y configurar los ensamblados y los espacios de nombres en el archivo Web.config.

Cuestiones relacionadas