ASP.NET MVC - HTML-Helfer


HTML-Helfer werden verwendet, um die HTML-Ausgabe zu modifizieren.


HTML-Helfer

Bei MVC ähneln HTML-Helfer herkömmlichen ASP.NET Web Forms-Steuerelementen.

Genau wie Web Forms-Steuerelemente in ASP.NET werden HTML-Helfer verwendet, um HTML zu modifizieren. HTML-Helfer sind jedoch schlanker. Im Gegensatz zu Web Forms-Steuerelementen verfügen HTML-Helfer über kein Ereignismodell und keinen ViewState.

In den meisten Fällen ist ein HTML-Helfer einfach eine Methode, die eine Zeichenfolge (String) zurückgibt.

Bei MVC können Sie Ihre eigenen Helfer erstellen oder integrierte HTML-Helfer direkt verwenden.


Standard-HTML-Helfer

MVC enthält Standard-Helfer für die am häufigsten verwendeten HTML-Elementtypen, wie z. B. HTML-Links und HTML-Formularelemente.


HTML-Links

Der einfachste Weg, einen HTML-Link zu rendern, ist die Verwendung des Helfers Html.ActionLink().

Bei MVC verlinkt Html.ActionLink() nicht auf eine View. Es erstellt einen Link zu einer Controller-Aktion.

Razor-Syntax:

@Html.ActionLink("About this Website", "About")

ASP-Syntax:

<%=Html.ActionLink("About this Website", "About")%>

Der erste Parameter ist der Link-Text und der zweite Parameter ist der Name der Controller-Aktion.

Der obige Html.ActionLink()-Helfer gibt das folgende HTML aus:

Einige Attribute des Html.ActionLink()-Helfers:

Attribute Beschreibung
.linkText URL-Text (Beschriftung), der innere Text des Anchor-Elements.
.actionName Der Name der Aktion.
.routeValues Der an die Aktion übergebene Wert, ein Objekt, das Routenparameter enthält.
.controllerName Der Name des Controllers.
.htmlAttributes URL-Attribut-Einstellungen, ein Objekt, das HTML-Attribute enthält, die für das Element festgelegt werden sollen.
.protocol URL-Protokoll, wie z. B. "http" oder "https".
.hostname Der Hostname der URL.
.fragment URL-Fragmentname (Ankername).

Hinweis:Sie können Werte an eine Controller-Aktion übergeben. Sie können beispielsweise die ID eines Datenbankdatensatzes an die Edit-Aktion der Datenbank übergeben:

Razor-Syntax C#:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

Razor-Syntax VB:

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

Der obige Html.ActionLink()-Helfer gibt das folgende HTML aus:


HTML-Formularelemente

Die folgenden HTML-Helfer können zum Rendern (Modifizieren und Ausgeben) von HTML-Formularelementen verwendet werden:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

ASP.NET-Syntax C#:

<%= Html.ValidationSummary("Erstellung war nicht erfolgreich. Bitte korrigieren Sie die Fehler und versuchen Sie es erneut.") %>
<% using (Html.BeginForm()){%>
<p>

<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>

<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>

<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>

<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>

<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>

</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>


Weitere Erweiterungen