Ricerca…


introduzione

Prima di saltare in ASP. NET MVC per sviluppare la tua applicazione web dovresti considerare i vantaggi e i disavaggi del framework e dovresti sapere che esiste un altro framework web creato e gestito da Microsoft che è ASP .NET Web Forms.

Quello che dovresti scegliere è una questione di conoscenza di entrambe le tecnologie.

Sintassi

  • ASPX View Engine utilizza "<% =%>" o "<%:%>" per eseguire il rendering del contenuto lato server.

  • Razor View Engine utilizza @ per eseguire il rendering del contenuto lato server.

Osservazioni

https://www.asp.net/web-forms

https://www.asp.net/mvc

Vantaggi dei moduli Web ASP .NET

  • Pre compilare i controlli per gestire griglie, input, grafici, alberi e così via.

  • Supporta un modello di eventi che conserva lo stato su HTTP, a vantaggio dello sviluppo di applicazioni Web line-of-business. L'applicazione basata su Web Form fornisce decine di eventi supportati in centinaia di controlli server.

  • Usa un pattern Controller di pagina che aggiunge funzionalità a singole pagine. Per ulteriori informazioni, vedere Page Controller sul sito Web MSDN.

  • Utilizza lo stato di visualizzazione o i moduli basati su server, che possono semplificare la gestione delle informazioni sullo stato.

  • Funziona bene per piccoli team di sviluppatori e progettisti Web che desiderano trarre vantaggio dall'elevato numero di componenti disponibili per lo sviluppo rapido di applicazioni.

  • In generale, è meno complesso per lo sviluppo di applicazioni, poiché i componenti (classe Page, controlli e così via) sono strettamente integrati e di solito richiedono meno codice rispetto al modello MVC.

  • Modello di sviluppo semplice per quegli sviluppatori che provengono dallo sviluppo di WindowsForm.

Che cosa sono i Web Form

Vantaggi di un'applicazione Web basata su MVC

  • Semplifica la gestione della complessità dividendo un'applicazione nel modello, nella vista e nel controller (Separazione dei problemi).

  • Non utilizza lo stato di visualizzazione o i moduli basati su server. Ciò rende il framework MVC ideale per gli sviluppatori che desiderano il pieno controllo del comportamento di un'applicazione.

  • Usa un pattern di Front Controller che elabora le richieste di applicazioni Web attraverso un singolo controller. Ciò consente di progettare un'applicazione che supporta una ricca infrastruttura di routing. Per ulteriori informazioni, vedere Front Controller sul sito Web MSDN.

  • Fornisce un supporto migliore per lo sviluppo basato su test (TDD).

  • Funziona bene per le applicazioni Web supportate da ampi team di sviluppatori e progettisti Web che necessitano di un elevato grado di controllo sul comportamento dell'applicazione.

Che cosa sono i Web Form

svantaggi

Moduli Web:

  • Ciclo di vita della pagina complesso, ogni volta che viene effettuata una richiesta al server, esistono almeno 5 metodi da eseguire prima del gestore di eventi.
  • Dificante lavorare con framework Client-Side come JQuery o Angular.
  • Difficile lavorare con Asyncrusus Javascript e XML (AJAX)
  • Gestione dello stato di visualizzazione
  • Il lato client della pagina e il codice sottostante sono strettamente accoppiati.

MVC:

  • Ci vuole più tempo per svilupparsi in confronto con Web Forms.
  • I dati vengono inviati in formato di testo in chiaro al server, mentre nei moduli Web i dati sullo stato vengono crittografati per impostazione predefinita.

Razor View Engine VS ASPX View Engine

Razor (MVC) ASPX (Web Forms)
Lo spazio dei nomi utilizzato da Razor View Engine è System.Web.Razor Lo spazio dei nomi utilizzato da ASPX View Engine è System.Web.Mvc.WebFormViewEngine
Le estensioni di file utilizzate da Razor View Engine sono diverse da un motore di visualizzazione di moduli Web. Utilizza cshtml con C # e vbhtml con vb per viste, vista parziale, modelli e pagine di layout. Le estensioni dei file utilizzate dai motori di visualizzazione Web Form sono come i moduli Web ASP.Net. Utilizza l'estensione ASPX per visualizzare l'estensione aspc per viste parziali o controlli utente o modelli ed estensioni master per pagine layout / master.
Il Razor Engine supporta Test Driven Development (TDD). Il motore di visualizzazione Web Form non supporta il Test Driven Development (TDD) perché dipende dalla classe System.Web.UI.Page per rendere complesso il test.

ASPX View Engine VS Razor View Engine



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow