asp.net-mvc
MVC versus webformulieren
Zoeken…
Invoering
Voordat je in ASP springt. NET MVC om uw webtoepassing te ontwikkelen, moet u rekening houden met de voor- en nadelen van het framework en moet u weten dat er een ander web framework is gemaakt en wordt onderhouden door Microsoft, ASP .NET Web Forms.
Welke u moet kiezen, is een kwestie van kennis van beide techonologieën.
Syntaxis
De ASPX View Engine gebruikt "<% =%>" of "<%:%>" om inhoud op de server weer te geven.
De Razor View Engine gebruikt @ om server-side content weer te geven.
Opmerkingen
Voordelen van ASP .NET-webformulieren
Pre-build besturingselementen voor rasters, ingangen, grafieken, bomen, enzovoort.
Het ondersteunt een gebeurtenismodel dat de status behoudt via HTTP, wat de ontwikkeling van zakelijke webtoepassingen ten goede komt. De op Web Forms gebaseerde applicatie biedt tientallen evenementen die worden ondersteund door honderden servercontroles.
Het maakt gebruik van een Page Controller-patroon dat functionaliteit toevoegt aan afzonderlijke pagina's. Zie Page Controller op de MSDN-website voor meer informatie.
Het maakt gebruik van view state of server-gebaseerde formulieren, die het beheer van statusinformatie eenvoudiger kunnen maken.
Het werkt goed voor kleine teams van webontwikkelaars en ontwerpers die willen profiteren van het grote aantal componenten dat beschikbaar is voor snelle applicatie-ontwikkeling.
Over het algemeen is het minder complex voor applicatieontwikkeling, omdat de componenten (de Page-klasse, besturingselementen, enzovoort) nauw geïntegreerd zijn en meestal minder code vereisen dan het MVC-model.
Eenvoudig ontwikkelingsmodel voor ontwikkelaars die afkomstig zijn van WindowsForm-ontwikkeling.
Voordelen van een MVC-gebaseerde webapplicatie
Het maakt het eenvoudiger om de complexiteit te beheren door een toepassing in het model, de weergave en de controller te verdelen (scheiding van problemen).
Het maakt geen gebruik van view state of server-gebaseerde formulieren. Dit maakt het MVC-framework ideaal voor ontwikkelaars die volledige controle willen hebben over het gedrag van een applicatie.
Het gebruikt een Front Controller-patroon dat webtoepassingsverzoeken verwerkt via een enkele controller. Hiermee kunt u een applicatie ontwerpen die een rijke routeringsinfrastructuur ondersteunt. Zie Front Controller op de MSDN-website voor meer informatie.
Het biedt betere ondersteuning voor test-driven development (TDD).
Het werkt goed voor webapplicaties die worden ondersteund door grote teams van ontwikkelaars en webontwerpers die een hoge mate van controle over het applicatiegedrag nodig hebben.
nadelen
Webformulieren:
- Complexe levenscyclus van pagina's, telkens wanneer een aanvraag bij de server wordt ingediend, zijn er ten minste 5 methoden die voorafgaand aan de gebeurtenishandler moeten worden uitgevoerd.
- Moeilijk om te werken met client-side frameworks zoals JQuery of Angular.
- Moeilijk om te werken met Asyncronous Javascript en XML (AJAX)
- Viewstate-afhandeling
- De client-side van de pagina en de code erachter zijn nauw gekoppeld.
MVC:
- Het kost meer tijd om te ontwikkelen in vergelijking met webformulieren.
- Gegevens worden in duidelijke tekstindeling naar de server verzonden, terwijl in webformulieren de weergavestatus standaard wordt gecodeerd.
Razor View Engine VS ASPX View Engine
Scheermes (MVC) | ASPX (webformulieren) |
---|---|
De naamruimte die wordt gebruikt door de Razor View Engine is System.Web.Razor | De naamruimte die wordt gebruikt door de ASPX View Engine is System.Web.Mvc.WebFormViewEngine |
De bestandsextensies die door de Razor View Engine worden gebruikt, verschillen van een webformulierweergave-engine. Het gebruikt cshtml met C # en vbhtml met vb voor weergaven, gedeeltelijke weergave, sjablonen en lay-outpagina's. | De bestandsextensies die door de Web Form View Engines worden gebruikt, lijken op ASP.Net-webformulieren. Het gebruikt de ASPX-extensie om de aspc-extensie te bekijken voor gedeeltelijke weergaven of gebruikersbesturingen of sjablonen en master-extensies voor lay-out / masterpagina's. |
De Razor Engine ondersteunt Test Driven Development (TDD). | Web Form view-engine biedt geen ondersteuning voor Test Driven Development (TDD) omdat deze afhankelijk is van de klasse System.Web.UI.Page om het testen complex te maken. |
ASPX View Engine VS Razor View Engine