ASP.NET MVC 5 Grundkurs

Datenübergabe an Views

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Controller können Daten an eine View übergeben. Dafür bietet ASP.NET MVC zwei Schnittstellen an, ViewData und ViewBag. Letztere ist dabei die bequemere Variante, weil keine Datenumwandlungen nötig sind.
03:24

Transkript

Es gibt natürlich sehr häufig Situationen bei denen man aus dem Controller heraus Daten an die View übergeben möchte. Aber für einfachere Daten gibt es prinzipiell zwei Ansätze in ASP.NET MVC, wobei einer vielleicht etwas empfehlenswerter ist als der andere. Ich lege dazu eine weitere Action Methode an und ich nenne die einfach mal "Daten()" und mache wieder return View(), das heißt, es wird die zuständige View einfach genommen und dann an den Browser quasi geschickt, legen wir diese View gleich an und haben dann hier quasi eine leere Seite und dieser leeren Seite wollen wir Daten ausgeben. Machen wir vielleicht mal einen relativ einfachen Test. Wir wollen einfach einen simplen String mitgeben. Seit ASP.NET MVC Version1 gab es ViewData. ViewData, vom Typ ViewDataDictionary konnte dazu verwendet werden, um ja entsprechend Daten zu übermitteln, zum Beispiel ["Hallo"] = "Welt". Das klappt prinzipiell auch ganz gut, denn wir können dann in der View auf ViewData ["Hallo"], in dem Fall zugreifen und es ausgeben. Nun der Rückgabewert ist von Typ "Object". Jetzt ist es im Falle eines Strings kein Problem, denn wenn die Zeichen ausgegeben wird, auch wenn sie in Object-Form ist, erscheint der Text. Auch bei anderen primitiven Datentypen ist es relativ einfach. Wenn wir jetzt etwas komplexeres in ViewData schreiben, zum Beispiel ein Array, ein Dictionary, eine Liste, irgendetwas in der Richtung, dann müssen wir casten, weil wir kriegen ja Object heraus, das heißt, wir müssen entsprechend die Datentypumwandlung durchführen. deswegen wurde in ASP.NET MVC Version 3 ein neues Feature eingeführt, und zwar gibt es ja den dynamic-Datentyp und die Entsprechung von ViewData als dynamic-Datentyp heißt ViewBag. Und jetzt habe ich auf einmal eine quasi objektorientiertes Syntax. Ich könnte also zum Beispiel sagen, ViewBag.Hallo = "Welt" auch das vielleicht das kein sehr sinniges Beispiel, aber vom Prinzip her sehr einfach, denn wenn ich jetzt wieder in meine View gehe und dann @ViewBag auswähle, dann kann ich hier auch auf "Hallo" zugreifen. Wir setzen hier die Eigenschaft "Hallo" und greifen hier auf die entsprechende Eigenschaft zu. Und wir sehen ja der Vorgang wird zur Laufzeit aufgelöst, aber und das ist ganz wichtig, wir müssen jetzt kein Cast mehr durchführen. Im Fall Zeichenkette ist es natürlich nebensächlich, aber wenn wir hier tatsächlich zum Beispiel ein Dictionary übergeben oder irgendein anderen komplexen Datentyp, dann hätten wir auf der Zielseite in der View, hätten wir spezifisch diesen Datentyp. Also kein Cast mehr und können eben dann Daten direkt in dieses ViewBag-Object schreiben. Deswegen ist es wohl mit der bequemste Weg, wenn wir ein paar einzeln losgelöste Daten an die View übergeben möchten, Wir schreiben es einfach in dem ViewBag, der wird auch nicht persistiert zwischen HTTP-Anforderung, der gilt quasi während der Ausführung dieser Action-Methode und dient so eben zu einer Überermittlung von, ich sage mal unstrukturierten Daten.

ASP.NET MVC 5 Grundkurs

Machen Sie sich mit den Grundlagen von ASP.NET MVC 5 vertraut und lassen Sie sich in dieser anspruchsvollen Einführung diesen Architekturansatz von Microsoft erläutern.

2 Std. 30 min (20 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!