Estoy pensando en probar MVC más tarde para una nueva aplicación que estamos comenzando, pero tengo curiosidad si es una cuestión de todo o nada, o si aún puedo festejar como si fuera 2006 con Viewstate y otras muletas en el mismo tiempo ...¿Pueden coexistir las páginas "clásicas" de ASP.NET y Microsoft MVC en la misma aplicación web?
Respuesta
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.
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.
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.
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.
enlace roto. Por favor, arregla. –
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.
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
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.
- 1. Páginas web clásicas .ASP y .NET .aspx en una aplicación web ASP.NET
- 2. ¿Pueden las páginas ASP clásicas ejecutarse en Azure?
- 3. Configurar 301 redireccionamientos de antiguas páginas ASP clásicas a nuevas páginas web ASP.NET páginas
- 4. ¿Pueden las API v2 y v3 Google Maps coexistir en la misma página?
- 5. Alojar aplicación web ASP.Net y consumir desde otra aplicación MVC
- 6. JavaFX en aplicaciones web empresariales: ¿una buena alternativa a las páginas web clásicas?
- 7. Azure y Microsoft ASP.NET MVC
- 8. Aplicación web ASP.NET MVC en tiempo real
- 9. Implementación de la aplicación web Asp.net MVC
- 10. ASP.NET MVC Aplicación web vs Aplicación web ASP.NET
- 11. ¿Pueden coexistir @Autowired y Autowire predeterminado?
- 12. ¿Pueden coexistir multiparte y fragmentación HTTP?
- 13. ASP.NET MVC junto con formularios web en la misma aplicación web?
- 14. ¿Cómo se pueden diseñar las funciones de visitante y administración en una sola aplicación web ASP.Net MVC?
- 15. 404 páginas en ASP.NET MVC
- 16. Asp.net MVC y páginas html normales
- 17. asp.net MVC Web API VS asp.net MVC 4 y MVC 3 aplicación de Internet
- 18. ASP.NET MVC 3 - Problemas con microsoft-web-helpers v1.1
- 19. ASP.NET MVC Páginas maestras
- 20. ¿Aloja múltiples dominios con la misma aplicación ASP.NET MVC?
- 21. ¿Prueba de rendimiento para páginas ASP clásicas?
- 22. ASP.NET MVC: ¿Cómo usar páginas HTML estáticas en aplicaciones MVC?
- 23. ASP.NET ¿Razor páginas web en proyecto grande?
- 24. ¿Pueden coexistir dos versiones diferentes de Windows SDK en la misma máquina sin conflicto?
- 25. ¿Pueden coexistir varias versiones de una misma DLL (Boost) en el mismo proceso?
- 26. Versiones conflictivas de páginas web ASP.NET detectadas
- 27. Más reciente Microsoft Chart y ASP.NET MVC
- 28. ¿Pueden Perforce y SourceSafe coexistir en Visual Studio?
- 29. ¿Las páginas ASP clásicas se ejecutarán en versiones de Windows después de Windows 7?
- 30. jQuery en una aplicación ASP.net MVC utilizando páginas maestras
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
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. –