Zunächst erstellt man ein Datenmodell, welches man
anzeigen möchte.
Hier im Beispiel einen Artikel, mit den Eigenschaften
IDArtikel, Title und Text_Content
Model
Datei in Models/Artikel.cs
public class Artikel
{
public int IDArtikel { get; set; }
public string Title { get; set; }
public string Text_Content { get; set; }
}
|
Controller
Dann erstellt man im Beispiel einen Artikel-Controller
mit der Bezeichnung ArtikelController.
In ArtikelController fügt man das Datenmodel hinzu mit:
Und benennt die erste Action als Detail()
public IActionResult Detail()
|
Die Action:Detail erstellt dann ein Artikel-Objekt mit
Artikel actDetail = new Artikel {
Title = "Artikel1" };
|
Und zeigt diese in der View an
Gesamter Controller Code zu Controllers/ArtikelController.cs
using System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Threading.Tasks;
using
Microsoft.AspNetCore.Mvc;
using ArtikelWeb.Models;
namespace
ArtikelWeb.Controllers
{
public class ArtikelController :
Controller
{
public
IActionResult Detail()
{
Artikel actDetail = new Artikel {
Title = "Artikel1" };
return View(actDetail);
}
}
}
|
View
Anzeige in der View
In der View werden mit dem Steuerzeichen @ die
Serverzugriffe eingebunden.
Zunächst holt man die Artikel-Model Struktur dazu, damit
man den Titel anzeigen kann
(kleines @model)
@model
ArtikelWeb.Models.Artikel
|
Dann zeigt man den Titel dynamisch an mit
(großes @Model)
Views/Artikel/Detail.cshtml
@model
ArtikelWeb.Models.Artikel
@{
ViewData["Title"] = "Detail";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@Model.Title</h2>
|
Ausgabe im
Browser
Wenn man jetzt mit F5 den Debugger als Anwendung in IIS
Express startet, dann öffnet sich die Seite localhost:123456 und unter der
Unteradresse /Artikel/Detail wird die Seite geöffnet
Ablauf:
es wird der Controller ArtikelController geöffnet und
die Action:Detail gestartet. Diese erstellt ein neues Model:Artikel mit einem Titel
und übergibt diesen dann an die View: Artikel/Detail.cshmtl