Views
In MVC berechnet die Action eines Kontrollers aus ihren Eingaben ein Geschäftsobjekt (Modell), und übergibt es an eine View, die es als HTML- Dokument rendert. Dieses wird schließlich an den Browser zur Dastellung gesendet:
Controller.Action(e1, ..., en) → Modell → View → Html- Dokument
Die View, welche der Controller auswählt, ist ein Objekt der Klasse
System.Web.Mvc.ViewPage
:
Der Rendern der View in HTML erfolgt durch eine ViewEngine, in der Regel der Razor- Engine. Die
ViewEngine lädt dazu das View- Objekt und eine Html- Vorlage (*cshtml) mit serverseitig ausführbaren Code:
+-------------+ ViewPage- Objekt ---------->| ViewEngine | | (Razor) |--> HTML- Dokument Html-Template (*.cshtml) -->| | +-------------+Die Html- Vorlagen sind Ordner Views für jeden Controller in einem Unterverzueichnis abgelegt:
Datenaustausch zwischen Controller und View
Primär ist für den DAtenaustausch zwischen Controller und View ist die Übergabe des Modells.
In der Eigenschaft ViewPage.Model
stellt der Controller der View das Modell bereit. In der View kann auf dieses
über @Model
zugegriffen werden.
Alternativ kann der Controller auch Daten über die ViewPage- Eigenschaften ViewPage.ViewData
und ViewPage.ViewBag
an die View übergeben. Wann dies sinnvoll ist, wird hier
beschrieben.