Taghilfsprogramme in ASP.NET Core

Von Rick Anderson

Informationen zu Taghilfsprogrammen

Taghilfsprogramme ermöglichen serverseitigem Code das Mitwirken am Erstellen und Rendern von HTML-Elementen in Razor-Dateien. Beispielsweise kann der integrierte ImageTagHelper eine Versionsnummer an den Bildnamen anfügen. Bei jeder Änderung des Bilds generiert der Server eine neue eindeutige Version des Bilds, sodass Clients immer das aktuelle Bild (anstelle eines veralteten zwischengespeicherten Bilds) erhalten. Für häufige Aufgaben wie das Erstellen von Formularen und Links sowie das Laden von Objekten gibt es zahlreiche integrierte Taghilfsprogramme. Weitere Taghilfsprogramme sind in öffentlichen GitHub-Repositorys und als NuGet-Pakete verfügbar. Taghilfsprogramme werden in C# erstellt und sind für HTML-Elemente basierend auf dem Elementnamen, dem Attributnamen oder dem übergeordneten Tag konzipiert. Beispielsweise kann der integrierte LabelTagHelper für das HTML-<label>-Element verwendet werden, wenn die LabelTagHelper-Attribute angewendet werden. Wenn Sie sich mit HTML-Hilfsprogrammen auskennen,verringern Taghilfsprogramme die expliziten Übergänge zwischen HTML und C# in Razor-Ansichten. Häufig stellen HTML-Hilfsprogramme eine Alternative zu einem bestimmten Taghilfsprogramm dar. Allerdings ersetzen Taghilfsprogramme HTML-Hilfsprogramme nicht, und es gibt nicht für jedes HTML-Hilfsprogramm ein Taghilfsprogramm. Im Abschnitt Taghilfsprogramme und HTML-Hilfsprogramme im Vergleich werden die Unterschiede detaillierter erläutert.

Taghilfsprogrammen werden in Razor-Komponenten nicht unterstützt. Weitere Informationen finden Sie unter Razor-Komponenten in ASP.NET Core.

Vorteile eines Taghilfsprogramms

Eine HTML-freundliche Entwicklungsumgebung

Razor-Markup, das auf Taghilfsprogramme zurückgreift sieht überwiegend wie Standard-HTML aus. Front-End-Designer, die sich mit HTML, CSS oder JavaScript auskennen, können Razor bearbeiten, ohne sich mit der C#-Razor-Syntax auseinandersetzen zu müssen.

Eine umfassende IntelliSense-Umgebung zum Erstellen von HTML und Razor-Markup

Dies unterscheidet sich deutlich von HTML-Hilfsprogrammen, dem früheren Ansatz zur serverseitigen Erstellung von Markup in „Razor“-Ansichten. Im Abschnitt Taghilfsprogramme und HTML-Hilfsprogramme im Vergleich werden die Unterschiede detaillierter erläutert. Im Abschnitt IntelliSense-Unterstützung für Taghilfsprogramme wird die IntelliSense-Umgebung beschrieben. Sogar Entwickler, die sich gut mit der Razor-C#-Syntax auskennen, können mithilfe von Taghilfsprogrammen produktiver arbeiten als wenn sie C#-Razor-Markup schreiben würden.

Eine Möglichkeit, um sie produktiver zu machen und in die Lage zu versetzen, stabileren, verlässlicheren und leichter zu wartenden Code mithilfe von Informationen schreiben zu lassen, die nur auf dem Server verfügbar sind.

Beispielsweise lautete das Mantra im Bezug auf das Aktualisieren von Bildern früher, dass man den Namen des Bildes ändert, wenn man das Bild verändert. Bilder sollten zur Verbesserung der Leistung immer zwischengespeichert werden, denn wenn Sie nicht den Namen des Bildes ändern, kann es sein, dass Clients veraltete Kopien erhalten. In der Vergangenheit musste der Name des Bildes immer geändert werden, wenn dieses bearbeitet wurde, und jeder Verweis auf das Bild in der Web-App musste aktualisiert werden. Dies ist nicht nur ein sehr aufwendiges Verfahren, sondern auch eines, bei dem Fehler entstehen können. Sie könnten z. B. einen Verweis übersehen oder aus Versehen die falsche Zeichenfolge eingeben. Das eingebaute ImageTagHelper kann das automatisch für die übernehmen. Das ImageTagHelper-Taghilfsprogramm kann eine Versionsnummer an den Bildnamen anfügen. Das bedeutet, dass der Server bei jeder Änderung eine neue eindeutige Version für das Bild generiert. Clients erhalten dann immer das aktuelle Bild. Die Verwendung des ImageTagHelper ist grundsätzlich kostenlos, bietet mehr Stabilität, und Sie sparen Zeit.

Die meisten integrierten Taghilfsprogramme sind für HTML-Standardelemente konzipiert und stellen serverseitige Attribute für die jeweiligen Elemente bereit. Das <input>-Element, das in vielen Ansichten im Ordner Views/Accounts (Ansichten/Konten) verwendet wird, enthält beispielsweise das asp-for-Attribut. Dieses Attribut extrahiert den Namen der angegebenen Modelleigenschaft, und fügt diesen in die gerenderte HTML-Seite ein. Gehen Sie von einer Razor-Ansicht mit folgendem Modell aus:

public class Movie
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

Das folgende Razor-Markup:

<label asp-for="Movie.Title"></label>

wird der folgende HTML-Code generiert:

<label for="Movie_Title">Title</label>

Das asp-for-Attribut wird von der For-Eigenschaft im LabelTagHelper-Taghilfsprogramm zur Verfügung gestellt. Weitere Informationen finden Sie unter Erstellen von Taghilfsprogrammen.

Verwalten des Taghilfsprogrammbereichs

Der Taghilfsprogrammbereich wird über eine Kombination aus @addTagHelper, @removeTagHelper und dem Deaktivierungszeichen „!“ gesteuert.

@addTagHelper stellt Taghilfsprogramme zur Verfügung.

Wenn Sie eine neue ASP.NET Core-Web-App mit dem Namen AuthoringTagHelpers erstellen, wird die folgende Views/_ViewImports.cshtml-Datei Ihrem Projekt hinzugefügt:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, AuthoringTagHelpers

Über die @addTagHelper-Anweisung werden Taghilfsprogramme in der Ansicht zur Verfügung gestellt. In diesem Fall ist „Pages/_ViewImports.cshtml“ die Ansichtsdatei, die standardmäßig von allen Dateien im Pages-Ordner und den Unterordnern geerbt wird. Dadurch werden Taghilfsprogramme zur Verfügung gestellt. Im obenstehenden Code wird die Platzhaltersyntax („*“) verwendet, um anzugeben, dass alle in der Assembly (Microsoft.AspNetCore.Mvc.TagHelpers) festgelegten Taghilfsprogramme für alle Ansichtsdateien im Ansichten-Verzeichnis bzw. -Unterverzeichnis verfügbar sind. Über den ersten Parameter nach @addTagHelper wird das Taghilfsprogramm geladen („*“ wird für alle Taghilfsprogramme verwendet), und über den zweiten Parameter „Microsoft.AspNetCore.Mvc.TagHelpers“ wird die Assembly angegeben, die die Taghilfsprogramme enthält. Bei Microsoft.AspNetCore.Mvc.TagHelpers handelt es sich um die Assembly für die integrierten ASP.NET Core-Taghilfsprogramme.

Verwenden Sie folgenden Code, wenn Sie alle Taghilfsprogramme in diesem Projekt zur Verfügung stellen wollen. Dadurch wird eine Assembly mit dem Namen AuthoringTagHelpers erstellt:

@using AuthoringTagHelpers
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, AuthoringTagHelpers

Wenn Ihr Projekt ein EmailTagHelper-Taghilfsprogramm mit einem Standardnamespace (AuthoringTagHelpers.TagHelpers.EmailTagHelper) verwendet, können Sie den vollqualifizierten Namen Ihres Taghilfsprogramms zur Verfügung stellen:

@using AuthoringTagHelpers
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper AuthoringTagHelpers.TagHelpers.EmailTagHelper, AuthoringTagHelpers

Wenn Sie einer Ansicht über einen vollqualifizierten Namen ein Taghilfsprogramm hinzufügen möchten, müssen Sie zunächst diesen Namen (AuthoringTagHelpers.TagHelpers.EmailTagHelper) und dann den Assemblynamen (AuthoringTagHelpers) hinzufügen. Die meisten Entwickler verwenden am liebsten die Platzhaltersyntax („*“). Mithilfe der Platzhaltersyntax können Sie das Platzhalterzeichen „*“ als Suffix in einem vollqualifizierten Namen (Fully Qualified Name, FQN) einfügen. Beispielsweise können Sie über die folgenden Anweisungen das EmailTagHelper-Hilfsprogramm integrieren:

@addTagHelper AuthoringTagHelpers.TagHelpers.E*, AuthoringTagHelpers
@addTagHelper AuthoringTagHelpers.TagHelpers.Email*, AuthoringTagHelpers

Wie oben bereits erwähnt, wird das Taghilfsprogramm für alle Ansichtsdateien im Views-Verzeichnis bzw. -Unterverzeichnis verfügbar, wenn Sie die @addTagHelper-Anweisung der Datei „Views/_ViewImports.cshtml“ hinzufügen. Sie können die @addTagHelper-Anweisung in bestimmten Ansichtsdateien verwenden, wenn Sie festlegen möchten, dass das Taghilfsprogramm nur für diese Ansichten verfügbar ist.

Entfernen von Taghilfsprogrammen über @removeTagHelper

Das @removeTagHelper-Taghilfsprogramm enthält dieselben beiden Parameter wie @addTagHelper und entfernt ein bereits zuvor hinzugefügtes Taghilfsprogramm. Wenn z.B. der @removeTagHelper auf eine bestimmte Ansicht angewendet wird, wird das angegebene Taghilfsprogramm aus der Ansicht entfernt. Wenn Sie das @removeTagHelper-Taghilfsprogramm in einer Views/Folder/_ViewImports.cshtml-Datei verwenden, wird das festgelegte Taghilfsprogramm aus allen Ansichten im Ordner entfernt.

Steuern des Taghilfsprogrammbereichs mit der _ViewImports.cshtml-Datei

Sie können jedem Ordner eine _ViewImports.cshtml-Ansicht hinzufügen, und die Ansichtsengine wendet die Anweisungen aus dieser Datei und der Views/_ViewImports.cshtml-Datei an. Wenn Sie für die Home-Ansichten eine leere Views/Home/_ViewImports.cshtml-Datei hinzugefügt haben, würde sich nichts ändern, da die _ViewImports.cshtml-Datei additiv ist. Alle @addTagHelper-Anweisungen, die Sie der Views/Home/_ViewImports.cshtml-Datei hinzufügen (die nicht in der Standarddatei „Views/_ViewImports.cshtml“ enthalten sind) machen diese Taghilfsprogramme nur für Ansichten im Ordner „Home“ verfügbar.

Deaktivieren individueller Elemente

Sie können Taghilfsprogramme auf Elementebene über das Deaktivierungszeichen „!“ für Taghilfsprogramme deaktivieren. Beispielsweise wird die Email-Validierung in <span> über dieses Zeichen deaktiviert:

<!span asp-validation-for="Email" class="text-danger"></!span>

Sie müssen dieses Zeichen auf das Start- und das Endtag anwenden. (Der Visual Studio-Editor fügt das Zeichen automatisch dem Endtag hinzu, wenn Sie es im Starttag verwendet haben.) Sobald Sie das Deaktivierungszeichen hinzugefügt haben, werden das Element und die Taghilfsprogrammattribute nicht mehr in unterschiedlichen Schriftarten angezeigt.

Verwenden von @tagHelperPrefix, um die Verwendung von Taghilfsprogrammen erforderlich zu machen

Mithilfe der @tagHelperPrefix-Anweisung können Sie ein Tagpräfix angeben, um Unterstützung für Taghilfsprogramme zu aktivieren und ihre Verwendung explizit erforderlich zu machen. Beispielsweise können Sie das folgende Markup zu der Views/_ViewImports.cshtml-Datei hinzufügen:

@tagHelperPrefix th:

Im nachfolgend Codebild ist das Präfix des Taghilfsprogramms auf th: festgelegt, sodass nur die Elemente, die das Präfix th: verwenden, Taghilfsprogramme unterstützen (Elemente, für die Taghilfsprogramme aktiviert sind, werden in einer anderen Schriftart dargestellt). Die Elemente <label> und <input> enthalten das Präfix des Taghilfsprogramms. Für sie sind Taghilfsprogramme aktiviert, für das Element <span> hingegen nicht.

Razor markup with Tag Helper prefix set to

Für @addTagHelper gelten dieselben Hierarchieregeln wie für @tagHelperPrefix.

Taghilfsprogramme als selbstschließende Tags

Viele Taghilfsprogramme können nicht als selbstschließende Tags verwendet werden. Einige Taghilfsprogramme sind als selbstschließende Tags konzipiert. Wenn Sie ein Taghilfsprogramm verwenden, das nicht als selbstschließendes Tag konzipiert ist, wird die gerenderte Ausgabe unterdrückt. Wenn Sie ein als selbstschließendes Tag konzipiertes Taghilfsprogramm verwenden, werden selbstschließende Tags in der gerenderten Ausgabe verwendet. Weitere Informationen finden Sie unter Erstellen von Taghilfsprogrammen in ASP.NET Core in diesem Hinweis.

C# in Attributen/der Deklaration von Taghilfsprogrammen

Taghilfsprogramme lassen C# im Attribut des Elements oder im Tagdeklarationsbereich nicht zu. Beispielsweise ist der folgende Code ungültig:

<input asp-for="LastName"  
       @(Model?.LicenseId == null ? "disabled" : string.Empty) />

Der vorangehende Code kann wie folgt geschrieben werden:

<input asp-for="LastName" 
       disabled="@(Model?.LicenseId == null)" />

Normalerweise fügt der @-Operator eine Textdarstellung eines Ausdrucks in das gerenderte HTML-Markup ein. Wenn ein Ausdruck jedoch als logisches „false“ ausgewertet wird, entfernt das Framework stattdessen das Attribut. Im vorherigen Beispiel ist das disabled-Attribut auf „true“ festgelegt, wenn oder „Model“ oder „LicenseId“ „null“ ist.

Initialisierer von Taghilfsprogrammen

Während Attribute zum Konfigurieren einzelner Instanzen von Taghilfsprogrammen verwendet werden können, können mithilfe von „ITagHelperInitializer<TTagHelper>“ alle Instanzen von Taghilfsprogrammen einer bestimmten Art konfiguriert werden. Sehen Sie sich das folgende Beispiel für den Initialisierer eines Taghilfsprogramms an, der das Attribut „asp-append-version“ oder die Eigenschaft „AppendVersion“ für alle Instanzen von „ScriptTagHelper“ in der App konfiguriert:

public class AppendVersionTagHelperInitializer : ITagHelperInitializer<ScriptTagHelper>
{
    public void Initialize(ScriptTagHelper helper, ViewContext context)
    {
        helper.AppendVersion = true;
    }
}

Um den Initialisierer zu verwenden, konfigurieren Sie ihn, indem Sie ihn als Teil des Anwendungsstarts registrieren:

builder.Services.AddSingleton
    <ITagHelperInitializer<ScriptTagHelper>, AppendVersionTagHelperInitializer>();

Automatische Generierung Versionsgenerierung von Taghilfsprogrammen außerhalb von wwwroot

Informationen darüber, wie ein Taghilfsprogramm eine Version für eine statische Datei außerhalb von „wwwroot“ generiert, finden Sie unter Bereitstellen von Dateien von mehreren Speicherorten.

IntelliSense-Unterstützung für Taghilfsprogramme

Sie sollten ein HTML-<label>-Element schreiben. Wenn Sie <l im Visual Studio-Editor eingeben, zeigt IntelliSense passende Elemente an:

After typing

Sie erhalten nicht nur Hilfe für HTML, sondern auch das Symbol (das „@“-Symbol mit „<>“ darunter).

The

Das Symbol erkennt das Element als für Taghilfsprogramme konzipiert. Für reine HTML-Elemente (wie „fieldset“) wird das Symbol „<>“ angezeigt.

Ein reines HTML-<label>-Tag zeigt das HTML-Tag (im Standardfarbdesign von Visual Studio) in braun, die Attribute in rot und die Attributwerte in blau an.

Example

Wenn Sie <label eingeben, listet IntelliSense die verfügbaren HTML/CSS-Attribute und die für Taghilfsprogramme konzipierten Attribute auf:

The user has typed an opening bracket and the HTML element name

Aufgrund der Anweisungsvervollständigung von IntelliSense können Sie die TAB-Taste drücken, um die Anweisung mit dem ausgewählten Wert zu vervollständigen:

The user has typed an opening bracket, the HTML element name

Wenn ein Taghilfsprogrammattribut eingegeben wird, ändern sich die Schriftarten des Tags und des Attributs. Wenn Sie das Standardfarbdesign von Visual Studio verwenden („Blau“ oder „Hell“), wird die Schrift in dunkellila angezeigt. Wenn Sie das Design „Dunkel“ verwenden, wird die Schrift in einem dunklen blaugrün angezeigt. Für die in diesem Artikel dargestellten Bilder wurde das Standarddesign verwendet.

The user selected

Sie können die Visual Studio-Verknüpfung CompleteWord verwenden (standardmäßig STRG+LEERTASTE) in doppelten Anführungszeichen (""), und jetzt befinden Sie sich genauso wie in einer C#-Klasse in C#). IntelliSense zeigt alle Methoden und Eigenschaften auf dem Seitenmodell an. Die Methoden und Eigenschaften sind verfügbar, weil der Eigenschaftentyp ModelExpression ist. Im nachfolgenden Beispiel wird die Register-Ansicht bearbeitet, damit das RegisterViewModel verfügbar ist.

The user types

IntelliSense listet die Eigenschaften und Methoden auf, die für das Modell auf der Seite verfügbar sind. Mithilfe der umfassenden IntelliSense-Umgebung können Sie die CSS-Klasse auswählen:

The user types

The user types

Taghilfsprogramme und HTML-Hilfsprogramme im Vergleich

Taghilfsprogramme werden an HTML-Elemente in Razor-Ansichten angefügt. HTML-Hilfsprogramme werden hingegen als Methoden aufgerufen, die mit HTML in Razor-Ansichten vermischt werden. Sehen Sie dich das folgende Razor-Markup an, das eine HTML-Bezeichnung mit der CSS-Klasse „caption“ erstellt:

@Html.Label("FirstName", "First Name:", new {@class="caption"})

Das „@“-Symbol (@) teilt Razor mit, dass es sich um den Beginn des Codes handelt. Bei den nächsten beiden Parametern („FirstName“ und „First Name:“) handelt es sich um Zeichenfolgen. Daher kann IntelliSense nicht helfen. Das letzte Argument:

new {@class="caption"}

Dabei handelt es sich um ein anonymes Objekt, das verwendet wird, um Attribute darzustellen. Da es sich bei class um ein reserviertes Schlüsselwort in C# handelt, sollten Sie das @-Symbol verwenden, um C# zu zwingen, @class= als Symbol (Eigenschaftenname) zu interpretieren. Front-End-Designern (also Entwickler, die mit HTML, CSS oder JavaScript und anderen Clients vertraut sind, sich aber nicht mit C# und Razor auskennen) ist diese Zeile wahrscheinlich nicht bekannt. Die gesamte Zeile muss ohne Hilfe von IntelliSense erstellt werden.

Wenn Sie das LabelTagHelper-Taghilfsprogramm verwenden, kann dasselbe Markup wie folgt geschrieben sein:

<label class="caption" asp-for="FirstName"></label>

Wenn Sie die Taghilfsprogrammversion verwenden und <l im Visual Studio-Editor eingeben, zeigt IntelliSense passende Elemente an:

The user types

Mithilfe von IntelliSense können Sie die gesamte Zeile schreiben.

Im folgenden Codeausschnitt wird der Formularteil der Views/Account/Register.cshtml-Razor-Ansicht angezeigt, der über die ASP.NET Core 4.5.x MVC-Vorlage generiert wird, die in Visual Studio enthalten ist.

Razor markup for the form portion of the Register Razor view for ASP.NET 4.5 MVC project template

Der Visual Studio-Editor zeigt C#-Code vor grauem Hintergrund an. Z.B. wird das AntiForgeryToken-HTML-Hilfsprogramm

@Html.AntiForgeryToken()

vor grauem Hintergrund angezeigt. Ein Großteil des Markups in der Registeransicht ist in C# geschrieben. Zum Vergleich wird in der folgenden Abbildung der entsprechende Ansatz unter Verwendung von Taghilfsprogrammen dargestellt:

Razor markup with Tag Helpers for the form portion of the Register Razor view for an ASP.NET Core project template

Das Markup ist viel deutlicher und kann einfacher gelesen, bearbeitet und verwaltet werden als im Ansatz über das HTML-Hilfsprogramm. Der C#-Code ist auf die mindestens erforderlichen Informationen begrenzt, die der Server benötigt. Der Visual Studio-Editor zeigt Markup an, das von einem Taghilfsprogramm in einer anderen Schriftart angezeigt wird.

Sehen Sie sich die Email-Gruppe an:

<div class="form-group">
    <label asp-for="Email" class="col-md-2 control-label"></label>
    <div class="col-md-10">
        <input asp-for="Email" class="form-control" />
        <span asp-validation-for="Email" class="text-danger"></span>
    </div>
</div>

Alle asp-Attribute enthalten den Wert „Email“. „Email“ ist allerdings keine Zeichenfolge. In diesem Kontext ist „Email“ die C#-Modellausdruckseigenschaft für das RegisterViewModel.

Mithilfe des Visual Studio-Editors können Sie das gesamte Markup im Taghilfsprogrammansatz des Registerformulars schreiben. Visual Studio stellt hingegen für einen Großteil des Codes im HTML-Hilfsprogrammansatz keine Hilfe zur Verfügung. Im Abschnitt IntelliSense-Unterstützung für Tag-Hilfsprogramme finden Sie mehr Details zum Arbeiten mit Taghilfsprogrammen im Visual Studio-Editor.

Taghilfsprogramm zu Webserversteuerelementen im Vergleich

  • Taghilfsprogramme besitzen das Element nicht, dem sie zugeordnet sind. Stattdessen sind sie nur Teil des Rendervorgangs des Elements und des Inhalts. Webserversteuerelemente für ASP.NET werden auf einer Seite deklariert und aufgerufen.

  • Webserversteuerelemente für ASP.NET haben einen nicht trivialen Lebenszyklus, aufgrund dessen sich das Entwickeln und Debuggen als schwierig gestalten kann.

  • Mithilfe von Webserversteuerelementen können Sie Funktionen zu den DOM-Elementen des Clients mithilfe von Clientsteuerelementen hinzufügen. Taghilfsprogramme verfügen nicht über Dokumentobjektmodelle.

  • Webserversteuerelemente umfassen die Browsererkennung nicht. Taghilfsprogramme haben keine Kenntnisse über den Browser.

  • Mehrere Taghilfsprogramme können gleichzeitig auf dasselbe Element wirken (weitere Informationen finden Sie unter Vermeiden von Konflikten mit Taghilfsprogrammen). Sie können hingegen in der Regel keine Webserversteuerelemente erstellen.

  • Taghilfsprogramme können das Tag und den Inhalt von HTML-Elementen verändern, dem sie zugeordnet sind. Ansonsten nehmen Sie keine Änderungen an der Seite vor. Der Funktionsbereich von Webserversteuerelementen ist weniger spezifisch. Sie können Aktionen ausführen, die andere Teile Ihrer Seite beeinflussen, wodurch Nebenwirkungen entstehen, die nicht vorgesehen sind.

  • Webserversteuerelemente verwenden Typkonverter, um Zeichenfolgen in Objekte zu konvertieren. Mit Taghilfsprogrammen arbeiten Sie auf native Weise in C#, weshalb Sie keine Typkonvertierung durchführen müssen.

  • Webserversteuerelemente verwenden „System.ComponentModel“, um das Verhalten von Komponenten und Steuerelementen zur Laufzeit und Entwurfszeit zu implementieren. System.ComponentModel enthält die Basisklassen und Schnittstellen zum Implementieren von Attributen und Typkonvertern, die Datenquellen binden und Komponenten lizenzieren. Im Gegensatz dazu stehen Taghilfsprogramme, die in der Regel von TagHelper abgeleitet sind. Die TagHelper-Basisklasse stellt nur zwei Methoden zur Verfügung: Process und ProcessAsync.

Anpassen der Elementschriftart des Taghilfsprogramms

Sie können die Schriftart und die Farben über Extras>Optionen>Umgebung>Schriftarten und Farben anpassen:

Options dialog in Visual Studio

ASP.NET Core: Integrierte Taghilfsprogramme

Anker

Cache

Komponente

Verteilter Cache

Umgebung

Formular

Formularaktion

Image

Eingabe

Label

Link

Partial

Beibehalten des Komponentenstatus

Skript

Auswählen

Textarea

Überprüfungsnachricht

Zusammenfassung der Überprüfung

Zusätzliche Ressourcen