2010-09-01 13 views
6

Ho una grande applicazione web che ho impostato sia come ASP.Net Web Forms che MVC. Alcune delle pagine più recenti sono MVC (.mvc) e alcune sono Web Form (.aspx). Poiché si tratta di un'applicazione aziendale e le funzioni vengono aggiunte costantemente, è difficile per me avere il tempo di fermarsi e sostituire la funzionalità esistente per convertirla. Quindi mi piacerebbe farlo pezzo per pezzo, controllo per controllo.Come utilizzare ASP.Net MVC Visualizza all'interno della pagina .aspx di WebForms?

Per fare questo, tutto quello che avrebbe bisogno di essere in grado di fare è di sostituire alcuni controlli con

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

E 'possibile includere spazi dei nomi o ereditare la pagina da qualcosa per consentire a questi metodi da utilizzare, pur mantenendo il resto del ciclo di vita della Pagina per altri controlli sulla pagina?

+0

Quindi si desidera combinare Visualizza in MVC in moduli Web e successivamente utilizzarlo in tutte le applicazioni, vero? – thangchung

+0

se sei disposto a fare qualche altra ristrutturazione, dai un'occhiata a http://zeusmvc.codeplex.com/ –

risposta

5

ho visto questa domanda e mi sono ricordato che ho letto qualche post di Scott Hanselman per quanto riguarda questo, così qui si va:

anche altri due articoli sul tema:

credo di riassumere è possibile:

  • Ha ASP.NET MVC e ASP.NET WebForms side-by-side, come ad esempio che si possono avere le nuove viste in ASP .NET MVC e quelli vecchi rimarranno in WebForms (se funziona perché riscriverlo?). Hai "solo" bisogno di capire come condividere la pagina principale.
  • È possibile utilizzare i controlli WebForms di base all'interno di visualizzazioni ASP.NET MVC non Razor, ma se utilizzano PostBacks o richiedono ViewState - non funzioneranno, perché il ciclo di vita completo di WebForms non è presente nelle viste ASP.NET MVC.
  • Informazioni sulle viste parziali all'interno di WebForms. È possibile modificare/forzare la pipeline ASP.NET MVC per eseguire il rendering di una rotta/vista su una stringa e aggiungerla alla pagina WebForms. Il problema e la domanda, tuttavia, è quanto sia utile dal momento che perdi l'associazione del modello durante il POST e la convalida del modello MVC se esegui modifiche. Qualche codice per eseguire il rendering di una vista - How to include a partial view inside a webform. Puoi anche tirare sempre la vista parziale usando ajax, se necessario.
Problemi correlati