Kurs:Razor Views: Unterschied zwischen den Versionen

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen
// via Wikitext Extension for VSCode
 
// via Wikitext Extension for VSCode
Zeile 38: Zeile 38:


=== 5. Teilansichten (Partials) einbinden ===
=== 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
    <!-- Dies ist ein HTML-Kommentar -->
    ```
=== 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("<b>Fett</b>")
    ```

Version vom 21. Juni 2025, 02:18 Uhr

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