ASP.NET MVC

ASP.NET MVC
Basisdaten

MaintainerMicrosoft,
.NET Foundation
EntwicklerMicrosoft
Erscheinungsjahr2009
Aktuelle Version5.2.5
(Mai 2018)
ProgrammierspracheC#
KategorieWebframework
LizenzApache-Lizenz 2.0
github.com/aspnet/Mvc
www.asp.net/mvc

Das ASP.NET MVC ist ein Webframework zur Entwicklung von Webanwendungen, das Paradigmen des Entwurfsmusters Model-View-Controller (MVC-Muster) befolgt.

Hintergrund

Das vom Hersteller Microsoft entwickelte MVC-Framework basiert auf ASP.NET und ermöglicht Webanwendungen als ein Zusammenspiel der drei Rollen Model, View und Controller zu erstellen.

Ein Model repräsentiert einen Teil der Daten der Anwendung. Ein Controller handhabt Interaktionen des Benutzers oder anderer Komponenten und aktualisiert das Model, um eine Änderung im Status der Anwendung zu reflektieren und übergibt dann Informationen der View. Eine View nimmt notwendige Informationen vom Controller und erstellt eine Benutzeroberfläche, um diese Informationen anzuzeigen. Das ASP.NET-MVC-Framework fügt die Models, Views und Controller mit Schnittstellen zusammen, wodurch jede Komponente unabhängig von den anderen getestet werden kann.

Das Framework bietet Vorlagen für Webseiten und verschiedene Verfahren zur Authentifizierung von Benutzern an.

Lizenzierung

Im April 2009 wurde der ASP.NET-MVC-Quellcode unter der Microsoft Public License (MS-PL) veröffentlicht. Im März 2012 kündigte Scott Guthrie in seinem Blog an, dass Microsoft einen Teil seiner Webkomponenten (einschließlich ASP.NET MVC, Razor und Web-API) unter einer Open-Source-Lizenz (Apache License 2.0) freigeben wird. Guthrie schrieb, dass „dadurch ein offeneres Entwicklungsmodell ermöglicht wird, mit dem jeder in der Gemeinschaft in der Lage sein wird, sich einzubringen und Feedback auf Code checkins, Bug-Fixes, die Entwicklung neuer Funktionen und Produkte zu erstellen und zu testen, mit den aktuellen Versionen des Quellcodes und der Tests.“ Der Quellcode befand sich zu Beginn auf Microsofts Entwickler-Website CodePlex. Er wird nun auf GitHub zur Verfügung gestellt. ASP.NET Web Forms wurden hier aus verschiedenen Gründen nicht berücksichtigt.

Versionshistorie

ASP.NET MVC
DatumVersion
13. März 20091.0
10. März 20102.0
13. Jan. 20113.0
15. Aug. 20124.0
17. Okt. 20135.0
17. Jan. 20145.1
10. Feb. 20145.1.1
4. Apr. 20145.1.2
22. Juni 20145.1.3
1. Juli 20145.2
28. Aug. 20145.2.2
9. Feb. 20155.2.3
12. Feb. 20185.2.4
2. Mai 20185.2.5
28. Nov. 20185.2.7[1]
17. Mai 20166.0 (Vorabversion)
ASP.NET Core MVC
12. Aug. 20161.0
17. Aug. 20161.0.1
17. Nov. 20161.0.2
6. März 20171.0.3
9. Mai 20171.0.4
20. Sep. 20171.0.5
14. Nov. 20171.0.6
16. Nov. 20161.1
27. Jan. 20171.1.1
6. März 20171.1.2
9. Mai 20171.1.3
20. Sep. 20171.1.4
14. Nov. 20171.1.5
12. Dez. 20171.1.6
13. März 20181.1.7
11. Sep. 20172.0
14. Nov. 20172.0.1
9. Jan. 20182.0.2
13. März 20182.0.3
30. Mai 20182.1.0
18. Juni 20182.1.1[2]
14. Nov. 20182.2.0[3]

View Engines

Eine View Engine ist der Programmteil innerhalb des Webservers, der aus ASP.NET-Quellcode letztlich HTML-Seiten zur Verwendung im Browser erzeugt. Die View Engines, die im ASP.NET-MVC-3- und MVC-4-Framework benutzt werden, sind die Razor View Engine und die Web Forms View Engine, die fester Bestandteil des MVC-3-Frameworks sind. Standardmäßig nutzt Razor .cshtml- oder .vbhtml-Dateien, während Web Forms .aspx-Dateien verwendet, um das Layout der Benutzeroberfläche zu erstellen. Prinzipiell können auch weitere View Engines verwendet werden.

Partielle Ansichten

Die Verwendung von sog. Partials in Views erlaubt das dynamischere Handhaben der Anwendung. Die View wird nicht als ein Dokument aufgebaut, sondern in mehrere unterteilt, die wiederum in einem vereinigt werden. Zum Beispiel wird auf einer Seite eine Liste mit Sortieroption als Partial eingebaut. Zusätzlich gibt es Formulare oder ähnliches, die durch die Listensortierung nicht beeinflusst werden dürfen. Mit Hilfe von Ajax Aufrufen kann über den Controller nun lediglich die partiell eingebundene Liste aktualisiert und neu geladen werden ohne die gesamte Seite zu aktualisieren.

Zudem bieten Partials eine hohe Wiederverwendbarkeit von Seitenelementen, da diese flexibel in mehreren Hauptviews eingesetzt werden können.

Literatur

  • Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, Eric Hexter: ASP.NET MVC 2 in Action. Manning Publications, 2010, ISBN 1-935182-79-X.
  • Stephen Walther: ASP.NET MVC Framework Unleashed. Sam’s, 2009, ISBN 0-672-32998-0.
  • Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen: Professional ASP.NET MVC 3. Wrox, 2011, ISBN 1-118-07658-3.
  • Jonathan McCracken: Test-Drive ASP.NET MVC. Pragmatic Bookshelf, 2010, ISBN 1-934356-53-0.
  • Steven Sanderson, Adam Freeman: Pro ASP.NET MVC 3 Framework. 2nd Edition. Apress, 2011, ISBN 1-4302-3404-0.

Weblinks

Einzelnachweise

  1. Microsoft.AspNet.Mvc 5.2.7. Abgerufen am 16. Dezember 2018 (englisch).
  2. Microsoft.AspNetCore.Mvc 2.1.1. Abgerufen am 16. Dezember 2018 (englisch).
  3. (Archived) ASP.NET Core MVC is a model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor. Project. ASP.NET, 16. Dezember 2018, abgerufen am 16. Dezember 2018.