Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

ASP.NET MVC 5 Grundkurs

Alle Daten ausgeben

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit ASP.NET MVC sind mehrere Datenansichten leicht umzusetzen. Sie beginnen mit der Listenansicht, nämlich mit allen Daten in der Datenbank. Das gelingt in wenigen Schritten.
07:25

Transkript

Unsere Controller-Klasse ist jetzt noch fast komplett leer. Zeit die mit Leben zu füllen, und zwar mit der klassischen CRUD-Funktionalität, CRUD, also Create Read Update Delete, also also Erstellen, Lesen, Aktualisieren und Löschen von Daten. Standardfall, wenn wir den Controller aufrufen mit der Index-Methode ist, dass wir eine Liste von Personen erhalten. Die Interaktion, beispielsweise zum Einfügen oder zur Detailansicht oder zum Löschen. Die kommen zu einem späteren Zeitpunkt, aber zunächst will ich einfach die Liste der Personen haben. Wir hatten, ja,vorher als wir mit dem ADO.NET-Entity-Modell gearbeitet haben, haben wir diese Entitätenklasse auch erstellt. Und zwar war dass der Typ "PersonenDatenbankEntities" und über Steuerung+Punkt bekommen wir, dann hier in den entsprechenden Assistenten, der uns auch bietet das Using-Statement einzufügen, sodass der Typ bekannt ist. Und jetzt lege ich einfach eine private Klassenvariable an, ich nenne es einfach mal "db=new PersonenDatenbankEntities". Das ist also jetzt mein Verweis auf diese Entitäten und jetzt bin ich schon beim Objektmodell, also dass da ein Datenbank im Hintergrund ist, interessiert mich nicht, ich habe, ja, extra mein Modell mir erstellen lassen, das heißt, ich habe jetzt eine Entität-Person und mit dieser Entität arbeite ich. Was bedeutet das jetzt für mich? Was ist denn die Aufgabe des Controllers? Die Aufgabe des Controllers ist es zunächst zu sagen, na ja, ich muss dementsprechend feststellen, ob ich jetzt C oder R oder U oder D mache in mein CRUD-Modell. Ich bin jetzt im Fall R-Lesen, und zwar hätte ich gerne, ja, eine Listendarstellung von allen Personen. Der Controller ist also dafür verantwortlich, vom Modell die Daten zu holen, also alle Personen und das in der View zu geben. Die Darstellung obliegt der View. also holen wir doch in der Index-Methode zunächst mal die Personen, also "var Personen =" und das holen wir uns über die Datenbank. Und dann gibt es hier den Plural von Personen, also People. Sie sehen also hier auch die automatische Pluralisierung, die wir aktiviert haben. Ja, und das könnten wir, dann noch in eine Liste umwandeln, dann haben wir nämlich eine schöne Liste. Und diese Liste muss jetzt irgendwie an die View weitergegeben werden. Und der Clue ist jetzt folgendes, dass das geht sehr einfach, wie übergeben die Personen einfach als Argument an den Aufruf der View-Methode. Das heißt, wir sagen, gut, nimm die View, die hier dazu gehört und übergibt dieser View Personen. Das klingt, ja, schon mal ganz interessant, aber wie bekommt diese View jetzt diese Personenliste. Und jetzt wird es gleich noch spannender und noch bequemer, und zwar wir fügen eine Ansicht hinzu, wir haben, ja, noch keine. Nenne die "Index" und jetzt können wir eine Vorlage verwenden, wenn wir wollen. Also entweder eine leere Vorlage, eine leere View oder wir haben Vorlagen zum Erstellen, zum Löschen, zur Detailansicht, zum Bearbeiten und auch zur Auflistung. Auflistung wäre auch das, was wir hier bräuchten, aber wir wollen, ja, sozusagen zu Fuß gehen, als wir vorher alles haben generieren lassen, wurde dann auch entsprechende an dieser Stelle diese Listen-View standardmäßig genommen. Aber sie nehmen jetzt nicht leer "Empty (ohne Modell)", sondern nur "Empty", denn dann können wir eine Modell-Klasse auswählen. Okay, was für eine Modell-Information wird denn jetzt hier übermittelt? Na ja, möglicherweise die Person. Und was ist die Kontext-Klasse? Und jetzt müssen wir aufpassen. "PersonContext" das war das, wo wir zuvor mit Code-First gearbeitet hatten, Aber wir wollen jetzt hier auf Basis der Datenbank arbeiten, also müssen wir die PersonenDatenbankEntities verwenden. So, und nachdem wir das gemacht haben, klicken wir einfach auf "Hinzufügen". Das heißt, ist ja auch Gerüstbau und immerhin ein bisschen was wird erzeugt, aber nicht sehr viel, es wird einfach unsere neue View angelegt. Ganz normale CSHTML-Datei mit nur einem Unterschied, wir haben hier eine neue Anweisung "@Model". Jetzt gibt es keine Variable. die Model heißt, das ist eine Instruktion. Und zwar wird gesagt, diese View hat ein Modell und dieses Modell ist vom Typ Personen. Na ja, Sie ist eigentlich vom Typ Personen, Sie ist vom Typ IEnummerable von Person, denn diese View, diese Ansicht erhält eine Liste von Personen, nicht nur eine Person, sondern eine Liste. Das heißt, das müssen wir hier von Hand nachziehen. Und der Clue ist jetzt folgender: Ich kann jetzt über "@Model" auf das Modell zugreifen, und zwar auf die Daten, die übergeben worden sind. Ich kann innerhalb der View auf das Model zugreifen, also auf gut Deutsch auf das Array. @Model wäre jetzt ein Array von Personen. Was mache ich mit so einem Array? Na ja, ich werde wahrscheinlich Per Foreach-Schleife darüber wandern, also "@foreach (var person in Model)". Und jetzt ist natürlich in jedem Schleifendurchlauf Person, die jeweilige Person, das heißt, ich kann zum Beispiel ausgeben @person.Vorname und Sie sehen sogar ein IntelliSense funktioniert und @Person.Nachname und @Person.Geburtsdatum, also machen wir nochmal @Person.Nachname und ich gebe das einfach nebeneinander aus und dann vielleicht noch (@Person.Geburtsdatum). Das will ich als Text sozusagen ausgeben, also mache ich hier noch ein entsprechendes Text-Element. Habe das dann hier drin so angegeben. Damit es noch ein bisschen schöner aussieht, mache ich es vielleicht als Aufzählungsliste, also URL und dann jedes Mal, wenn ich das ausgeben will, könnte ich eigentlich noch ein Listenelement angeben. Das heißt, packen wir doch gleich alles in eine Zeile, ist vielleicht hier der angenehmere weg und beenden dann entsprechend so die Liste. So, also diese View bekommt automatisch das Modell geliefert. Was ist das Modell? Das Modell ist eine Liste von Personen, denn wir haben, ja, in unserem Controller eine Liste von Personen erstellt und übergeben, über diese Personen wird etabliert. Diese Personen haben einen Vornamen, haben einen Nachnamen, haben ein Geburtsdatum, all das geben wir aus mit HTML-Markup und durch die Razor-Syntax haben wir nur sehr sehr wenig tatsächlichen Code hier, im Wesentlichen nur die Foreach-Schleife. Und das ist es im Wesentlichen. Also ab in den Browser, Chrome startet. Die Datei, die View, die wir offen hatten, wird automatisch geladen werden, Sie sehen also auch hier wieder die richtige URL, automatisch an Browser übergeben wurde und wir haben jetzt hier entsprechend einer Auflistung. Wir haben also eine Auflistung, mit allen Personen und den zugehörigen Geburtsdaten. Das wird eben direkt aus der Datenbank gezogen und Sie sehen hier wunderbar diese schöne Trennung, die wir haben. Wir haben den Controller, der ist dafür zuständig die Daten zu holen. Wir haben irgendwo anders die Datenbank, haben dazu ein eigenes Modell, ist quasi auch unabhängig und wir haben die View, die View ist auch unabhängig. Sie könnten also theoretisch im Controller aus Testzwecken einfach statisch eine Liste von Personen erstellen und die an die View übergeben. Zugriff ist dann direkt in der View. Und damit haben wir sehr sehr einfach und sehr sehr wenig Aufwand geschafft eine Liste von Personen auszugeben und darzustellen.

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!