Heim > Backend-Entwicklung > C#.Net-Tutorial > Einführung in die Art und Weise, wie MVC in ASP.NET Daten vom Controller an die Ansicht übergibt

Einführung in die Art und Weise, wie MVC in ASP.NET Daten vom Controller an die Ansicht übergibt

巴扎黑
Freigeben: 2017-08-16 14:17:30
Original
1782 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die vier Möglichkeiten vorgestellt, wie ASP.NET MVC Daten vom Controller zur Ansicht überträgt. Es hat einen gewissen Referenzwert und interessierte Freunde können darauf verweisen.

Vorspiel

1. Erstellen Sie unter der Modelldatei im neuen Projekt eine neue Produktklasse:


 public class Products
  {
    public int Id { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }
  }
Nach dem Login kopieren

2. In der Steuerung Instanziieren Sie diese Klasse im Controller


var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
Nach dem Login kopieren

Methode 1: ViewData

Verwenden Sie ViewData, um die Methode einzugeben Die formale Klasse der Wertepaare des Controllers speichert die oben instanziierten Objekte wie folgt:


ViewData["person"] = p;
Nach dem Login kopieren

Rufen Sie dann den Wert in ViewData in der Ansicht ab und konvertieren Sie das Objekt wie folgt folgt:


@{
  var p = (Products)ViewData["person"];
}
<h1>@p.Id</h1>
<h2>@p.Name</h2>
<h3>@p.Price</h3>
Nach dem Login kopieren

Methode 2: ViewBag

Verwenden Sie die Methode im Controller, um das obige Objekt im Formular zu speichern des dynamischen ViewBag-Ausdrucks wie folgt:


ViewBag._Product = p;
Nach dem Login kopieren

Ändern Sie die Ansicht wie folgt:


@{
  var p = (Products)ViewBag._Product;
}
Nach dem Login kopieren

Methode 3: Modell

Geben Sie die Methode im Controller wie folgt an das obige Objekt von View zurück:


public ActionResult Index()

    {

      var p = new Products()

      {

        Id = 1,

        Name = "饮料",

        Price = 2.5

      };

      return View(p);

    }
Nach dem Login kopieren

Und wir erhalten das obligatorische Typobjekt Products in der Ansicht wie folgt:


@using MvcTest.Models;
@model Products
@{
  ViewBag.Title = "Index";
}
<h1>@Model.Id</h1>
<h2>@Model.Name</h2>
<h3>@Model.Price</h3>
Nach dem Login kopieren

Methode 4: TempData

TempData kann durch Umleitung weiterhin verwendet werden, da sein Wert in der Sitzungsmitte gespeichert wird. Allerdings können TempData nur einmal übergeben werden und werden danach automatisch vom System gelöscht.

Im Folgenden werde ich den Wechsel von der Aktion „Index“ zur Aktion „Bestellen“ demonstrieren und den in TempData gespeicherten Wert in der Ansicht ausgeben.

Erstellen Sie zunächst eine neue Aktionsmethode im Steuerelement und nennen Sie sie Order-Methode. Der Code lautet wie folgt:


public ActionResult Index()
    {
      var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
      TempData["_product"] = p;
      return RedirectToAction("Order");
    }
    public ActionResult Order()
    {
      return View();
    }
Nach dem Login kopieren

Ändern Sie die Ansicht als folgt:


@{
  Products p = (Products)TempData["_product"];
}
Nach dem Login kopieren

Angenommen, der Code im Controller wird wie folgt geändert:


public ActionResult Index()
    {
      var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
      TempData["_product"] = p;
      return RedirectToAction("Order");
    }
    public ActionResult Order()
    {
      return RedirectToAction("Detail");
    }
    public ActionResult Detail()
    {
      Products _product = (Products)TempData["_product"];
      return View("");
    }
Nach dem Login kopieren

Wechseln Sie zu: Index – Reihenfolge – Detail, dann im Detail In der Methode kann das TempData-Objekt nicht abgerufen werden, da TempData nur einmal übergeben werden kann und vom System automatisch gelöscht wird.

Ergebnisse ausgeben

Das obige ist der detaillierte Inhalt vonEinführung in die Art und Weise, wie MVC in ASP.NET Daten vom Controller an die Ansicht übergibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage