2010-09-01 9 views
6

Tengo una gran aplicación web que he configurado como ASP.Net Web Forms y MVC. Algunas de las páginas más nuevas son MVC (.mvc) y algunas son Web Forms (.aspx). Como esta es una aplicación de negocios y las funciones se agregan constantemente, es difícil para mí tener el tiempo para detener y reemplazar la funcionalidad existente para convertirla. Así que me gustaría hacerlo pieza por pieza, control por control.Cómo usar ASP.Net MVC View dentro de la página .aspx de WebForms?

Para ello, todo lo que tendría que ser capaz de hacer es reemplazar ciertos controles con

<% Html.RenderPartial() %> o <% Html.HelperMethod %>

¿Es posible incluir espacios de nombres o heredar la página de algo para permitir que estos métodos para ser utilizado, mientras se mantiene el resto del ciclo de vida de la página para otros controles en la página?

+0

Así que quiere combinar View in MVC a formularios web y luego usarlo en toda su aplicación, ¿verdad? – thangchung

+0

si está dispuesto a hacer más reestructuraciones, eche un vistazo a http://zeusmvc.codeplex.com/ –

Respuesta

5

vi esta pregunta y recordé que he leído algunos mensajes de Scott Hanselman con respecto a este, así que aquí va:

también dos más artículos sobre el tema:

creo que para resumir, puede:

  • Tiene ASP.NET MVC y ASP.NET WebForms de lado a lado, como la que se puede tener los nuevos puntos de vista en ASP .NET MVC y los antiguos permanecerán en WebForms (si funciona, ¿por qué reescribirlo?). Usted "solo" necesita descubrir cómo compartir la página maestra.
  • Puede usar los controles básicos de WebForms dentro de las vistas MVC de Razor ASP.NET, pero si usan PostBacks o requieren ViewState, no funcionarán, porque el ciclo de vida completo de WebForms no está presente en las vistas ASP.NET MVC.
  • En cuanto a vistas parciales dentro de WebForms. Puede piratear/forzar la tubería MVC de ASP.NET para representar una ruta/vista a una cadena y anexarla a su página WebForms. Sin embargo, el problema y la pregunta es qué tan útil es esto, ya que perderá el enlace del modelo durante el POST así como la validación del modelo MVC si está realizando ediciones. Algunos códigos para representar una vista: How to include a partial view inside a webform. También puede tirar siempre de la vista parcial usando ajax si es necesario.
Cuestiones relacionadas