Kurs:Razor Views

Aus ahrensburg.city
Version vom 21. Juni 2025, 02:18 Uhr von Thorsten (Diskussion | Beiträge) (// via Wikitext Extension for VSCode)
Zur Navigation springen Zur Suche springen

Razor Views erstellen – Spickzettel

1. Neue Razor View anlegen

  1. Im Views-Ordner des Controllers eine neue Datei mit der Endung .cshtml erstellen.
  2. 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) {
  • @item.Name
  • } ```

    • 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")
       ```