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:
ASP-Syntax:
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#:
Razor-Syntax VB:
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#:
<% 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