El más grande estaría utilizando controles existentes de terceros en su formulario. La mayoría de los controles incorporados son bastante fáciles de reproducir, pero si tienes un control de terceros, podrías tener que alojarlo en una página aspx normal (no MVC) (afortunadamente esto es compatible).
Del mismo modo, "partes" web
también - la característica que ASP.NET utiliza diferentes html para diferentes clientes (móviles, etc.) se convierte en ... diferente; usted no querría hacer esto a mano, pero en realidad la mayoría de los clientes ahora trabajan con html estándar, por lo que es un problema menor en primer lugar.
Algunas cosas como i18n a través de archivos resx necesitan más trabajo que en la plantilla MVC de vanilla, pero las muestras están allí en Internet.
Un punto ... MVC tiene licencia solo para MS/ASP.NET; así que una cosa que no puedes hacer (sin violar los términos, según tengo entendido) es ejecutarla en mono/Apache, pero IANAL.
Consideremos ahora las cosas que puede hacer con MVC, que no puede (o son duros) con vainilla:
- rutas en lugar de páginas
- automatizado resolución de entrada (argumentos de acción)
- control html adecuado ...
- ...permitiendo jQuery etc para simples AJAX
- separación de las preocupaciones
- capacidad de prueba
- IOC/DI
- múltiples opciones de plantillas (no sólo aspx/ascx)
re resolución de entrada:
public ActionResult Show(string name, int? page, int? pageSize) {...}
seleccionará "nombre", "página" y "página Ajuste "off" (cualquiera de) la ruta, cadena de consulta o formulario, para que no tenga que perder mucho tiempo seleccionando valores de solicitud.
re plantillas - aspx/ascx no son las únicas opciones de plantillas. Por ejemplo, ver here; o puede escribir uno propio si lo desea ... La vista no está vinculada a los controles ASP.NET en absoluto.
Gracias por la buena respuesta, lo que me hace estar más seguro de que es relativamente seguro ir por mvc. Sin embargo, no entiendo qué hay detrás de sus puntos con 'resolución de entrada automatizada', 'IoC/DI' y 'múltiples opciones de plantillas'. ¿Tienes algunos ejemplos de lo que quieres decir con eso? –
actualizado por pregunta –
ASP.Net MVC es de código abierto bajo el MS-PL, que es una licencia muy liberal, ver http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net- mvc-1-0.aspx. Es perfectamente legal correr bajo mono. – jeroenh