Kurs:Razor Views
Razor Views erstellen – Spickzettel
1. Neue Razor View anlegen
- Im Views-Ordner des Controllers eine neue Datei mit der Endung
.cshtml
erstellen. - Beispiel:
Views/Home/Index.cshtml
2. Razor Syntax Grundlagen
- C#-Code einbinden:
@{ /* C#-Code */ }
- Variable ausgeben:
@variableName
- HTML und C# mischen:
```html
@Model.Title
```
3. Model an eine View übergeben
- Im Controller:
```csharp return View(myModel); ```
- In der View:
```csharp @model Namespace.ModelType ```
4. Schleifen und Bedingungen
- Schleife:
```csharp @foreach(var item in Model.Items) {
} ```
- Bedingung:
```csharp @if(Model.IsActive) { Aktiv } ```
5. Teilansichten (Partials) einbinden
- Einbinden einer Partial View:
```csharp @Html.Partial("PartialViewName") @await Html.PartialAsync("PartialViewName") @await Html.RenderPartialAsync("PartialViewName") ```
- Mit Model:
```csharp @Html.Partial("PartialViewName", model) ```
6. Layouts verwenden
- Layout festlegen:
```csharp @{ Layout = "_Layout"; } ```
- Bereich für Content:
```csharp @RenderBody() ```
- Sektionen:
```csharp @RenderSection("SectionName", required: false) ```
7. ViewData, ViewBag und TempData
- ViewData:
```csharp ViewData["Key"] = "Wert"; @ViewData["Key"] ```
- ViewBag:
```csharp ViewBag.Key = "Wert"; @ViewBag.Key ```
- TempData:
```csharp TempData["Key"] = "Wert"; @TempData["Key"] ```
8. Kommentare
- Razor-Kommentar:
```csharp @* Dies ist ein Razor-Kommentar *@ ```
- HTML-Kommentar:
```html ```
9. Weitere Razor-Befehle
- Abschnitt deklarieren:
```csharp @section Scripts { <script src="..."></script> } ```
- HTML-Helfer:
```csharp @Html.ActionLink("Linktext", "Action", "Controller") @Html.TextBoxFor(model => model.Name) @Html.DisplayFor(model => model.Name) @Html.EditorFor(model => model.Name) ```
- Raw HTML ausgeben:
```csharp @Html.Raw("Fett") ```