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

ASP.NET MVC 5 Grundkurs

"Hallo Welt" mit MVC

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
"Hallo Welt" ist oft das erste, das mit einer neuen Programmiersprache ausprobiert wird. Auch hier geben Sie diesen Text - und etwas mehr - in einer ASP.NET-MVC-Anwendung aus.
10:53

Transkript

Unsere ASP.NET-MVC-Anwendung ist noch dem Ausgangszustand, das heißt, wir haben praktisch keine Dateien, die Vorlage, wir haben, ja, die Empty Vorlage gewählt, enthält im wesentlichen Konfiguration, aber sonst prinzipiell nichts, das heißt, wenn wir jetzt mal ein Browser aufrufen und uns das ansehen, dann bekommen wir eine zufällige Portnummer. In meinem Fall 12373, bei Ihnen etwas anderes, aber sowas hier kann nicht gefunden werden, wir haben einfach noch keine Daten, wir haben einfach noch keine Dateien. Jetzt haben wir, ja, MVC- Model View Controller, wir brauchen also, na ja, nicht unbedingt alles, wir brauchen auf jeden Fall ein Controller, weil der Controller, ja, dafür zuständig ist entsprechend auf HTTP-Anfragen, auf URLs zu reagieren und dann für Logik zu sorgen. Meistens brauchen wir, ja, auch noch eine View, wir wollen, ja, auch irgendwas anzeigen und genau das schauen wir uns an, das heißt, ich habe hier diesen Ordner "Controllers", wo standardmäßig Controller drin abgelegt werden und in der rechten Maustaste und dann "Hinzufügen" bekomme ich direkt angeboten "Controller" als eigenen Punkt, habe dann einen speziellen Assistenten und zwar gibt es in Visual Studio entsprechend schon Vorlagen mitgeliefert für Controller. Wenn Sie jetzt eine ältere Visual Studio Version verwenden und, oder eine ältere ASP.NET-MVC-Version verwenden, dann sieht dieser Dialog möglicherweise ein bisschen anders aus. Man hat da beispielsweise Auswahllisten, also solche Dropdown-Menüs in denen dann verschiedene Vorlagen sind. Wir nehmen zunächst die, in Anführungszeichen, leere Vorlage, in meinem Fall ist es hier "MVC 5-Controller-leer", bei älteren Versionen eben auch "leerer Controller". Wählen Sie also aus und geben dann einen Namen an. Sie können in älteren Versionen direkt einen Namen angeben, hier bekommen Sie einfach zunächst diese Auswahl und im zweiten Schritt wird der Name angegeben. Ein Controller endet auf Controller. Sie müssen sich das so vorstellen, wenn Sie mehrere Bereiche einer Webseite haben, nehmen wir mal an, Sie haben Produkte, die Sie auf der Webseite vorstellen und ein Controller kümmert sich, ja, um die Produkte, dann erstellen Sie den "Produkte-Controller" und das was vor "Controller" steht, also "Produkte" hat dann zumindest in der Standardkonfiguration Auswirkungen auf die URLs. Sie hätten dann also zum Beispiel das Wort "Produkte" in den URLs. Deswegen ist hier auch das, was links von Controller steht hervorgehoben, das heißt, wenn ich jetzt anfange zu tippen, dann wird nur das ersetzt, aber das Controller sollte stehen bleiben. ASP-MVC ist sehr flexibel konfigurierbar, aber es gibt so ein paar Standardeinstellungen, die bereits vorhanden sind und eins dieser Standardeinstellungen hat damit zu tun, dass davon ausgegangen wird, dass wir ein Home Controller haben, weil sozusagen einen für, na ja, zumindest die Startseite und vielleicht noch einige andere Seiten. Deswegen nenne ich mein Controller jetzt auch "HomeController", weil dann ein anderer Aspekt der nachher wichtig wird out of the Box funktioniert. Ansonsten sind Sie natürlich hier freigestellt, wie Sie es nennen, ich nenne es aber HomeController, dann wird die Datei angelegt, und zwar ist das eine ganz einfache ist C# Datei und dies ist diese C# Datei, machen wir mal zu, ist im Wesentlichen eine Klasse und diese Klasse leitet ab von Controller. Zunächst ist diese Klasse hier quasi leer, es wird nur eine Methode angelegt, die heißt Index. Und diese Methode hat einen Rückgabewert von Typ "ActionResult" und, ja, ActionResult ist einer der klassischen Typen, den wir ganz häufig in Controller sehen. Wie es in der Regel funktioniert ist so: Wir rufen eine URL auf als Benutzer und abhängig von der URL und den Einstellungen, die wir getätigt haben oder die, die Vorlage oder ASP.NET vorgibt wird zu diese URL passend ein Controller aufgerufen, mit Ausnahme jetzt von, wir laden eine Grafik oder eine JavaScript-Datei, und dieser Controller wird aufgerufen und innerhalb dieses Controllers, wird eine Methode aufgerufen. Und das funktioniert standardmäßig so: Wenn ich die URL aufrufe "/ Home / Index", ich sollte vielleicht die Webseite noch stoppen. Also "/Home/Index" und davor unser "http://localhost" Ports, ich weiß nicht mehr, welche Nummer wir hatten, dann wird im HomeController die Methode Index aufgerufen. Jetzt haben Sie aber gesehen der Kommentar hier sah so aus "/Home", aber nicht mehr / Index. Denn dieses Anhängsel "/Index" ist der Standardfall, wenn wir also nichts anhängen an "Home", dann wird automatisch die Methode "Index" aufgerufen, sofern es diese Index-Methode überhaupt gibt. Warum ist das so? Wir haben, ja, hier diesen Ordner "App_Start" und da gibt es eine C# Datei standardmäßig, die heißt "RouteConfig". Und in dieser Standarddatei RouteConfig, wird das sogenannte Routing eingerichtet. Das Routing kümmert sich darum, das URLs entsprechend umgeleitet, gemappt werden auf die entsprechenden Controller. Nun wir haben hier eine Route angelegt bekommen, das macht diese Vorgabe und diese Route sagt, die URLs haben alle folgenden Aufbau: Erst kommt der Name des Controllers, dann Schrägstrich, dann Name der Aktion, also Name der Methode und dann Schrägstrich und dann eine ID, haben wir, wenn wir mit Daten arbeiten nachher als Option, werden wir dann sehen. Und jetzt gibt es Defaults, also Standardwerte. Was ist der Standardwert? Standardmäßig wird immer der HomeController genommen, geben wir also kein Controller an, wird der HomeController verwendet. Die Standardmethode, die Standardaktion ist Index, das ist das was ich gerade erläutert hatte, wenn wir also nichts hinten anhängen an den Controllernamen, wird Index verwendet. Ja, und die ID ist ein optionaler Parameter, das heißt, die ist möglicherweise gar nicht gesetzt. Das ist also das Routing. Wenn wir also nur Localhost Ports, wie auch immer der Port lautet aufrufen, dann wird der HomeController aufgerufen und dann die Index-Methode entsprechend. Das ist, ja, schonmal ein ganz guter Start und damit können wir eigentlich fast schon loslegen. Allerdings auch nur fast, denn wir brauchen, ja, immer noch etwas das wir anzeigen wollen und das könnten wir jetzt zwar machen, aber ich kommentiere das mal schnell aus. Und erstelle mir meine eigene, etwas vereinfachte Action-Methode, damit wir etwas simpler zu "Hallo Welt" kommen, werden aber hierauf direkt nachher zurückkommen. Und zwar ich erstelle meine Index-Methode, allerdings als Rückgabewert nehme ich jetzt einfach zunächst mal String und ich gebe einfach zurück: return "Hallo Welt". Das Standarderste Beispiel von fast jeder Programmiersprache. Also, ich habe jetzt meine Index-Methode, meine Action-Methode Namens Index in meinem HomeController. Und das ist das, was standardmäßig aufgerufen wird: HomeController, Index-Methode und die gibt "Hallo Welt" zurück. Wenn ich jetzt dann die ganze Applikation starte, dann startet hier ASP.NET MVC, es wird diese Routenkonfiguration eingelesen. Eine Routenkonfiguration steht, wir hatten uns, ja, angeschaut. Standardmäßig wird dieses URL-Schema erwartet und wir verwenden, wenn hier Informationen nicht angegeben werden den HomeController und die Index-Methode. Ansonsten müssten wir eben spezifisch angeben, was aufgerufen werden soll. Das heißt, wenn ich nur Localhost Ports, ein, zwei, drei, vier, fünf aufrufe, dann wird der HomeController genommen aus Mangel an Alternativen und da wir eben auch nichts spezifisches angegeben haben, die Index-Methode aufgerufen. Diese Index-Methode gibt "Hallo Welt" zurück. Klingt auch schon mal ganz gut, also feuern wir den Chrome hoch. Port 12373, ASP.NET MVC startet und tatsächlich hier steht "Hallo Welt". Das heißt, wir haben jetzt tatsächlich eine "Hallo Welt" Anwendung erzeugt. Klar, wenn wir uns ein Blick auf den Quellcode werfen, dann sehen wir tatsächlich, da steht wirklich nur "Hallo Welt" drin, sonst nichts, kein HTML. Könnten wir also ändern, aber dazu werden wir noch weitere Möglichkeiten kennenlernen. Ist aber schon mal ein erster, wichtiger Schritt. Jetzt haben wir gesehen, Sie sehen es, ja, hier noch in einem Kommentar, wir haben, ja, eigentlich immer den Typ "ActionResult" als Rückgabewert von der Action-Methode. Ist zumindest von der Vorlage so vorgegeben und wenn wir jetzt dann uns im folgenden dem Thema Views annähern, dann werden wir auch immer mit ActionResult arbeiten und in der Tat wir könnten auch hier, nachdem ich die Applikation beendet habe, wir können auch hier den Rückgabewert ActionResult verwenden. Allerdings muss da auch wirklich ein ActionResult zurückgegeben werden, aber wir geben momentan ein String zurück. Jetzt gibt es seitens des Frameworks eine Reihe von statischen Methoden und diese statischen Methoden liefern etwas vom Typ ActionResult zurück. Die statische Methode, die ein ActionResult zurückliefert, in dem aber nur ganz einfacher Text, wie "Hallo Welt" heißt "Content". Und Sie sehen Content hat den Rückgabewert ContentResult und ContentResult ist abgeleitet von, Sie ahnen es, ActionResult. Das heißt, ich gebe jetzt hier Content von "Hallo Welt" zurück. Habe jetzt eine Methode, die mir ActionResult liefert, führe das Ganze nochmal aus und nachdem das Ganze hochfährt sozusagen, sehe ich auch hier wieder "Hallo Welt", funktioniert also wunderbar weiterhin. Das ist der prinzipielle "Hallo Welt" Aufbau. Wir haben ein Controller und dieser Controller enthält hoffentlich Action-Methoden, diese Action-Methoden geben etwas zurück. Wir können also beispielsweise auch statt "Index", zum Beispiel "Hallo Welt" eingeben, weil beendeter Applikation und wenn ich das Ganze jetzt im Google Chrome aufrufe, funktioniert es zunächst nicht, wir haben, ja, keine Index-Methode mehr. Das heißt also, es kommt die Fehlermeldung, die wir vorher schon hatten. HomeController gibt es, aber keine Index-Methode, aber ich kann jetzt sagen: /Home, Name des Controllers und dann Name der Action-Methode: /HalloWelt. Jetzt wird also der HomeController geladen und dann die Action-Methode und ausgeführt. Und wenn ich das mache, bekomme ich tatsächlich wieder das Ergebnis, dass ich möchte. Das heißt, standardmäßig haben URLs direkte Auswirkungen darauf, welcher Controller, welche Methode aufgerufen wird und Sie können es direkt ablesen. Sie haben gesehen, diese Route wurde einkonfiguriert, die ist also nicht standardmäßig vorhanden die Sache der Vorlage. Das heißt, Sie können sich natürlich auch komplett eigene Routen überlegen und das dann wirklich sehr sehr flexibel anpassen, aber in vielen Fällen ist die Vorgabe eigentlich sehr sehr nützlich. Und dies ist "Hallo Welt" mit ASP.NET MVC.

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!