Server Diskussion:Razor Views
Razor Views erstellen – Spickzettel
1. Neue Razor View anlegen
- Im Views-Ordner des Controllers eine neue Datei mit der Endung
.cshtmlerstellen. - 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")
```