Grundlegendes zu Taghilfsprogrammen und Seitenhandlern

Abgeschlossen

In der vorherigen Lerneinheit haben Sie eine Razor-Seite erstellt, die eine Liste mit Pizzas anzeigt. Sie haben das @-Symbol für den Kontextwechsel zwischen HTML und C# verwendet. In dieser Lerneinheit erfahren Sie mehr überTaghilfsprogramme. Taghilfsprogramme sind eine spezielle Art von HTML-Element, das C#-Code enthalten kann. Zudem werden Seitenhandler erläutert. Seitenhandler sind Methoden, die Browseranforderungen verarbeiten. Sie verwenden Seitenhandler in der nächsten Lerneinheit, um Pizzasorten hinzuzufügen und zu löschen.

Taghilfsprogramme

Taghilfsprogramme werden verwendet, um Ineffizienz beim Kontextwechsel zwischen HTML und C# zu beseitigen. Die meisten integrierten Taghilfsprogramme von ASP.NET Core erweitern HTML-Standardelemente. Taghilfsprogramme stellen zusätzliche serverseitige Attribute für HTML-Elemente bereit, sodass die Elemente zuverlässiger werden.

Es gibt vier Taghilfsprogramme, die Sie für dieses Projekt kennen sollten: partial, label, input und Validation Summary Message.

Hilfsprogramm für Teiltags

<partial name="_ValidationScriptsPartial" />

Dadurch wird der Inhalt der Datei _ValidationScriptsPartial.cshtml in eine Seite eingefügt. Die Datei _ValidationScriptsPartial.cshtml enthält JavaScript, das zum Überprüfen der Formulareingabe verwendet wird, sodass sie auf jeder Seite enthalten sein muss, die ein Formular enthält.

label-Taghilfsprogramm

<label asp-for="Foo.Id" class="control-label"></label>

Hiermit wird das HTML-Standardelement <label> erweitert. Wie bei vielen Taghilfsprogrammen üblich, wird ein asp-for-Attribut verwendet. Das Attribut akzeptiert eine Eigenschaft von PageModel. In diesem Fall wird die Foo.Id-Eigenschaft von PageModel (insbesondere die Zeichenfolge "Id") als Inhalt für ein <label>-HTML-Element gerendert.

input-Taghilfsprogramm

<input asp-for="Foo.Id" class="form-control" />

Ähnlich wie im vorherigen Beispiel erweitert dieses Hilfsprogramm das HTML-Standardelement <input>. Für das Eingabe-Taghilfsprogramm wird außerdem ein asp-for-Attribut verwendet, das eine PageModel-Eigenschaft angibt. In diesem Fall wird der Wert der Foo.Id-Eigenschaft als value-Attribut für ein <input>-HTML-Element gerendert.

Hilfsprogramm für Überprüfungszusammenfassungstags

<div asp-validation-summary="All"></div>

Das Validation Summary-Taghilfsprogramm zeigt eine Überprüfungsmeldung für eine einzelne Eigenschaft im Modell an.

Hinweis

Elemente wie Validierungsregeln und Eigenschaftenanzeigenamen werden in der PageModel-Klasse definiert. In der nächsten Lerneinheit wird erläutert, wo sich diese im Code befinden.

Seitenhandler

Die PageModel-Klasse definiert Seitenhandler für HTTP-Anforderungen und Daten, die zum Rendern der Seite verwendet werden. In der vorherigen Übung hat die PizzaListModel-Klasse die HTTP GET-Anforderung verarbeitet, indem der Wert der PizzaList-Eigenschaft auf den Wert von _service.GetPizzas() festgelegt wurde.

Zu den gängigen Handlern gehören OnGet für die Seiteninitialisierung und OnPost für Formularübermittlungen. Um eine HTTP POST-Anforderung zu verarbeiten, kann ein Seitenhandler die von Benutzer*innen übermittelten Daten überprüfen, die Eingabeformularseite erneut anzeigen, wenn sie ungültig ist, oder die gültigen Daten für Persistenz an einen Dienst oder eine Datenbank senden.

In der nächsten Lerneinheit fügen Sie ein Formular hinzu, um mithilfe von mehreren Taghilfsprogrammen neue Pizzasorten zu erstellen. Sie fügen auch Seitenhandler hinzu, um die Übermittlung von Formularen und Löschvorgänge für Pizzasorten zu verarbeiten.