Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

ASP.NET MVC 5 Grundkurs

Einen Datensatz bearbeiten

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Per Klick auf ein Listenelement gelangen Sie in eine Detailansicht zu einem einzelnen Datensatz. Noch besser: diese Ansicht erlaubt sogar, den Datensatz via Webbrowser zu bearbeiten.
06:02

Transkript

Eine Liste von Personen, eine Liste von einer Person und auch das Erstellen einer neuen Person haben wir schon. Machen wir doch weiter mit dem Bearbeiten. Dazu gehe ich zunächst in unsere Detail-Übersicht, denn auf der Detail-Übersicht ist, ja, bereits so ein Link zum Bearbeiten, ruft die Action-Methode Edit auf und übergibt die ID. Perfekt, das ist alles, was wir brauchen, damit können wir arbeiten. Also beginnen wir mit der GET-Anfrage. "GET: /Personen/Edit" und dann die ID, wird, ja, dann angehängt, 1 zum Beispiel. Also, "public ActionResult Edit" und es wird wieder ein nullable Integer übergeben mit einer ID. Ja, das heißt, wir bekommen eine Nummer und müssen dann erst mal schauen, ob wir so eine Person haben, weil wenn wir jetzt die Person Nummer 5 bearbeiten wollen, aber die Nummer 5 gibt es nicht, dann müssen wir uns was überlegen. Also im Fall eins, wenn es die ID nicht gibt, dann könnten wir wieder ein Fehler entsprechend ausgeben und an dieser Stelle mache ich einfach eine Weiterleitung auf die Startseite. So, an dieser Bequemlichkeit oder diese Abkürzung ist, ja, erlaubt, also "return RedirectToAction("Index")", passt. Als nächstes holen wir uns die Person. Also, "person = db.People.Find(id)". Wenn wir keine Person haben, dann machen wir wieder unsere Weiterleitung. So, und wenn wir eine Person haben, was machen wir mit der Person? Wir übergeben diese Person an die zugehörige View. Also, "return View(person)". Also, wir lassen uns unsere View geben, die bekommt die Person übermittelt und Sie ahnen, wie es weitergeht, wir erstellen die zugehörige Ansicht, nahmen eine Vorlage, und zwar das Editieren dieses mal, Modellklasse ist Personen, Datenbankkontextklasse ist PersonenDatenbankEntities, wird aufgebaut und dann haben unsere Edit-CSHTML und der Edit-CSHTML haben wir ein bisschen Validierung. Was ist entsprechend entfernt werden und dann schauen wir uns den Rest an der überbleibt. Das ist auch etwas übersichtlicher. Und hier wird zum einen per verstecken Formularfeld noch die ID hinterlegt, "HiddenFor". Interessant wird es hier, also wird haben das Label für den Vornamen, was ich jetzt auch mal durch den statischen Wert ersetze. Wie haben dann "Html.EditorFor", wir haben hier den Nachnamen und haben hier auch wieder "Html.EditorFor" und dann haben noch das Geburtsdatum. Ja, wir haben wieder "EditorFor", weil das ist, ja, dann genau die Eingabe, die wir wollen, die kann vorausgefüllt sein und im Fall des Bearbeitens muss sie, ja, vorausgefüllt sein, denn die View ist typisiert, erhält, erwartet eine Person, füllt dann entsprechend diese Felder vor, na ja, und irgendwann klickt jemand hier auf die Speicherschaltfläche. Was passiert wenn auf die Speicherschaltfläche geklickt wird? Ganz klar, es wird eine entsprechende Action-Methode aufgerufen und zwar wird aufgerufen die POST-Methode. Also "POST: /Personen/Edit" und Sie ahnen, was übergeben wird an die Methode, die ein ActionResult zurückliefern muss, genau, eine Person. Auch hier wieder dank Model Binding. Ja, und dann schauen wir mal wieder, ob alles passt. Also wenn ModelState gültig ist, dann speichern wir die Person und das läuft dann über MC-Framework so. Wir schauen uns den Eintrag für die Person an, die Person ist, ja, bereits in der Datenbank und sagen die Person wurde modifiziert, hat den Status "Modified". und vielleicht machen wir hier noch ein Using, dann ist das etwas besser zu lesen, also Using und dann "EntityState Modified" und dann speichern wir die Änderungen in der Datenbank und danach geht es wieder zurück zur Übersicht. Also "RedirectToAction und wie nehmen als Action wieder Index. Wenn alles passt, dann sagen wir, gut die Person wurde verändert, abspeichern und zurück zur Übersicht. Ja, und ansonsten wenn es nicht passt, dann bleiben wir auf der View und übergeben die modifizierte Person direkt an die View. Ging jetzt zwar relativ schnell, ist aber dasselbe wie vorher im Wesentlichen. Ja, wir haben eine Action-Methode für GET. Die liest in den Fall, dass ist der Unterschied zu Create, Create hat nur die View angezeigt, bei Edit müssen wir erst die Person suchen. Wenn wir sie gefunden haben, dann zeigen wir entsprechend die View an und wenn dann dieses View-Formular verschickt wird, dann nehmen wir uns die Daten, schauen ob alles in Ordnung ist, falls ja, wird abgespeichert, falls nein kommt nochmal die Editiermaske. So schnell noch, bevor wir es vergessen auch explizit sagen, dass wir das Ganze per Post aufrufen wollen, sonst haben wir später eine Kollision, weil nicht klar ist, welche der beiden Methoden zum Einsatz kommen darf. Und jetzt ab in den Browser, gehen auf unsere Personenübersicht, wo dann eben aus der Datenbank die Personen geladen werden, da ist Liste, der Personen, die erzeugt wird. Gehen wir auf die Detailansicht von, ja, dem Martin Muster oder, ach, nehmen wir den Max Mustermann. Und kam dann hier diesen Bearbeiten Link, Sie sehen der geht auch /Personen/Edid/1, passt, klicken drauf. Tatsächlich vorausgefüllt Max Mustermann, also wird aus der Max Xaver Mustermann, wir klicken auf Speichern. Landen wieder bei der Übersicht, auch hier wieder aktualisiert, alles genau, wie wir es uns vorgestellt haben. Insofern alles wunderbar und auch hier wieder dieselbe Technik. Eine GET-Action Methode, eine POST-Action-Methode durch ein Attribut gekennzeichnet und den Rest erledigt dann eigentlich das Entity Framework plus dann die View Engine und vielleicht noch die Weiterleitung-Features.

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!