freiberuflicher Software Entwickler C#, vb.Net, vba, UWP, WPF, WinForms, SQL Server, Access, Excel, ASP.Net Core MVC Telefon: 07022/9319004   Kontakt
#

 

 

Man kann die Daten vom Controller zur anzeigenden View mit 3 Möglichkeiten übergeben. Wobei die erste Variante die Typ-stabilste Variante ist.

Dabei werden die View-Daten intern als ViewDataDictionary übergeben

1) als View(actArtikel)

2) als ViewData["Artikel"]

3) als ViewBag.Artikel

 

1) Übergabe als View-Parameter

(empfohlen)

Man übergibt die Model-Daten als Parameter in der return Ausgabe.

Das heißt, man erstellt eine Menge an Daten beim Aufruf der Controller-Action und übergibt diese in der return-Zeile an die anzuzeigende View.

public IActionResult Detail()

{

    //--------< Detail() >------------

    Artikel actDetail = new Artikel { Title = "Artikel1" };

    return View(actDetail);  

    //--------</ Detail() >------------

}

Und in der View über das einbinden von @model entnommen

@model ArtikelWeb.Models.Artikel   

@{

    ViewData["Title"] = "Detail";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

 

<h2>@Model.Title</h2>

 

In Visual Studio: ArtikelController bildet Daten aus dem Model und übergibt diese an die View

 

2) Übergabe mit ViewData

Die Daten werden in ein ViewData eingefügt

//Alternative 1

ViewData["Artikel"] = actDetail;

return View();

   

Und in der View mit den notwendigen Casting-Umwandlungen entnommen

@model ArtikelWeb.Models.Artikel   

@{

    ViewData["Title"] = "Detail";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

 

<h2>@Model.Title</h2>

@(((Artikel) ViewData["Artikel"]).Title )

 

 

 

 

3) Alternative Übergabe mit ViewBag

 

Microsoft empfiehlt oft die Übergabe mit ViewBag und einer dynamischen Variable. Das heißt man übergibt im Controller an ViewBag.Dynamische_Variable und liest die dynamische Variable wieder in der View aus.

 

Im Controller

//Alternative 2 ViewBag

ViewBag.Artikel = actDetail;

return View();

 

In der View

@ViewBag.Artikel

 

Nachteil: die dynamische Variable muss namentliche immer übereinstimmen, ansonsten entsteht ein Laufzeitfehler.

 

Und in der View

 

Mobile
»
🚩#22 ASP.Net: Validation, Gültigkeit
»
🚩#21 ASP.Net: Update von Daten mit Speichern der Edit View
»
#20 Formular Daten binden und in Datenbank anfügen
»
#19 ASP.Net Core MVC : DropDown Liste einfügen
»
#18 ASP.Net: Label anpassen
»
#17 ASP MVC: New-Formular zum Erstellen eines Eintrags
»
EF: Standardwerte vorgeben und Typ Double und Bool von ASP.Net Model zu SQL Server
»
#16 ASP.Net MVC: Eager Loading von Include Daten
»
#15 ASP.Net Core MVC: Daten Tabellen auf Webseite mit MVC anzeigen
»
#14 ASP.Net: Feldeigenschaften im Model eingeben Null Textlänge

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Raimund.Popp@Microsoft-Programmierer.de