Vorwort | 6 |
Inhaltsverzeichnis | 8 |
Über den Autor | 11 |
1: Einleitung und Grundlagen | 12 |
1.1 Was behandeln wir in dem einleitenden Kapitel? | 12 |
1.2 Das Ziel des Buchs | 12 |
1.3 Was benötigen Sie zum Arbeiten mit dem Buch? | 14 |
1.4 Was sollten Sie bereits können? | 16 |
2: MVC-Grundlagen | 17 |
2.1 Was behandeln wir im Kapitel? | 17 |
2.2 Das MVC-Konzept | 17 |
2.2.1 Kern der MVC-Philosophie | 17 |
2.2.1.1 M-V-C | 18 |
2.3 Das konkrete Framework ASP.NET MVC | 18 |
2.3.1 Die Lizenzbedingungen | 19 |
2.3.2 Die View Engines | 19 |
2.3.3 MVC6 | 20 |
3: Die Projektvorlagen und erste MVC-Applikationen | 21 |
3.1 Was behandeln wir im Kapitel? | 21 |
3.2 Grundsätzliches Anlegen einer MVC-Anwendung | 21 |
3.2.1 Die Art der MVC-Webapplikation | 23 |
3.2.2 Eine ASP.NET MVC-Webapplikation mit leerer Vorlage erstellen | 24 |
3.2.3 Die Ordner einer MVC-Applikation | 25 |
3.2.4 Eine ASP.NET MVC-Webapplikation mit MVC-Vorlage erstellen | 27 |
3.2.4.1 Verwenden der MVC-Vorlage ohne Authentifizierung | 27 |
3.2.4.2 Die MVC-Vorlage mit Authentifizierung | 29 |
3.2.4.3 Visual Basic statt C# | 34 |
4: Grundsätzliches Anlegen einer MVC-Anwendung | 35 |
4.1 Was behandeln wir im Kapitel? | 35 |
4.2 Eine Hallo Welt-MVC – von Grund auf | 35 |
4.3 Einer leeren MVC-Anwendung einen Controller hinzufügen | 36 |
4.3.1 MVC-Hintergrundabläufe und das Routing | 40 |
4.4 Inhalt direkt vom Controller liefern lassen | 41 |
4.4.1 Einen einfachen String zurückgeben | 41 |
4.4.2 Einen String über ein ContentResult-Objekt liefern | 42 |
4.5 Mit Views arbeiten | 43 |
4.5.1 Eine View hinzufügen | 44 |
4.6 Mehrere Seiten in einem Projekt | 47 |
5: Razor – Syntax und View Engine | 50 |
5.1 Was behandeln wir im Kapitel? | 50 |
5.2 Server Side Includes | 50 |
5.3 Die Trennung von HTML- und Razor-Bereich | 51 |
5.3.1 Der Codebereich | 51 |
5.3.2 Die Ausgabe mit Razor und @ | 51 |
5.3.2.1 Das proprietäre text-Element | 52 |
5.3.2.2 Die Kurzform der Ausgabeanweisung | 52 |
5.4 Weitere Razor-Features | 53 |
5.4.1 Kommentare | 54 |
5.4.2 Maskieren des Zeichens @ | 54 |
6: Datenübergabe an Views | 56 |
6.1 Was behandeln wir im Kapitel? | 56 |
6.2 Datenübergabe mit ViewData | 56 |
6.3 Der dynamische Datentyp mit Namen ViewBag | 58 |
7: Templates – Layoutseiten | 60 |
7.1 Was behandeln wir im Kapitel? | 60 |
7.2 Was sind Layoutvorlagen? | 60 |
7.3 Die Methode RenderBody() | 61 |
7.3.1 Die @Layout-Anweisung in der View | 62 |
7.3.2 Die MVC5-Layoutseite (Razor) | 62 |
7.3.3 Die MVC5-Ansichtseite mit Layout (Razor) | 63 |
7.3.4 Ein Blick in den generierten Code | 64 |
7.3.4.1 Die generierte View | 65 |
7.3.4.2 Die generierte Layoutseite | 65 |
7.3.5 Anpassen von View und Layoutseite | 66 |
7.3.5.1 Die angepasste View | 66 |
7.3.5.2 Die angepasste Layoutseite | 66 |
7.4 Teilbereiche mit RenderSection() | 68 |
7.4.1 Bedingte Teilbereiche mit IsSectionDefined() | 71 |
8: Das Model – ASP.NET MVC und Datenbanken im Verbund | 74 |
8.1 Was behandeln wir im Kapitel? | 74 |
8.2 Daten gehören in das Model | 74 |
8.3 Die @model-Anweisung und weitere Informationen zum Datenaustausch | 75 |
8.3.1 Die CRUD-Funktionalität im Controller für den Model-Zugriff | 75 |
8.3.1.1 Die @model-Anweisung in der View | 76 |
8.3.2 Von der View zum Controller | 77 |
8.4 Eine Datenbank in Visual Studio erstellen | 77 |
8.4.1 Der „Datenbankordner“ App_Data | 77 |
8.4.2 Das konkrete Anlegen einer Datenbank | 78 |
8.5 Code First | 82 |
8.5.1 Anlegen der Kontextklasse | 83 |
8.5.2 Das Entity Framework mit dem Nuget Package Manager installieren | 85 |
8.5.3 Die Datenbank bei Code First anlegen | 87 |
8.5.3.1 Die Datei Web.config modifizieren | 87 |
8.5.4 Der Datenbank-Controller | 88 |
8.5.4.1 Der generierte Controller | 90 |
8.5.4.2 Den Entity Framework-Provider nachinstallieren | 92 |
8.5.4.3 Die generierten Views | 92 |
8.6 Database First | 94 |
8.6.1 Das Model erzeugen | 96 |
8.6.2 Controller und Views | 97 |
Anhang | 101 |
Quellen im Internet rund um ASP.NET MVC | 101 |
Lösungen zu Aufgaben | 101 |
Aufgaben in Abschn. 5.1 | 101 |
Aufgaben in Abschn. 6.2 | 104 |
Basiswissen zu HTML | 104 |
Steueranweisungen und Tags | 105 |
Container versus leere Elemente | 107 |
Container mit Wirkung auf das Innere | 107 |
Leere Elemente | 107 |
Verschachtelung von Containern | 108 |
Parameter/Attribute | 108 |
Das Grundgerüst einer HTML-Seite | 109 |
Der Dokumententyp | 109 |
Das Innere des Wurzelelements | 110 |
Style Sheets | 110 |
Wie CSS in einer HTML-Seite verwenden? | 111 |
Die konkrete Syntax von CSS-Deklarationen | 111 |
Die HTML-Hilfsmethoden in ASP.NET | 112 |
Stichwortverzeichnis | 113 |