Das ASP.NET MVC-Framework enthält Hilfsmethoden, die das Rendern von HTML in einer Ansicht erleichtern.
HTML-Helfer werden zum Ändern der HTML-Ausgabe verwendet.
Mit MVC ähneln HTML-Helfer herkömmlichen ASP.NET-Webformular-Steuerelementen.
Wie das Web Form-Steuerelement in ASP.NET werden HTML-Helfer zum Ändern von HTML verwendet. Aber HTML-Helfer sind einfacher. Im Gegensatz zu Web Form-Steuerelementen verfügen HTML-Helfer über kein Ereignismodell und keinen Ansichtsstatus.
In den meisten Fällen ist ein HTML-Helfer nur eine Methode, die einen String zurückgibt.
Mit MVC können Sie Ihre eigenen Helfer erstellen oder die integrierten HTML-Helfer direkt verwenden.
MVC enthält Standardhilfsprogramme für die am häufigsten verwendeten HTML-Elementtypen, z. B. HTML-Links und HTML-Formularelemente.
Die einfachste Möglichkeit zum Rendern von HTML-Links ist die Verwendung des HTML.ActionLink()-Helfers.
Bei MVC stellt Html.ActionLink() keine Verbindung zur Ansicht her. Es stellt eine Verbindung zur Controller-Aktion her.
Razor-Syntax:
@Html.ActionLink("Über diese Website", "Über")
ASP-Syntax:
<%=Html.ActionLink("Über diese Website", "Über")%>
Der erste Parameter ist der Linktext und der zweite Parameter ist der Name der Controller-Aktion.
Der Html.ActionLink()-Helfer oben gibt den folgenden HTML-Code aus:
<a href="/Home/About">Über diese Website</a>
Einige Eigenschaften des Html.ActionLink()-Helfers:
Eigentum | beschreiben |
---|---|
.linkText | URL-Text (Tag), der innere Text des Ankerelements. |
.Aktionsname | Der Name der Aktion. |
.routeValues | Der an die Aktion übergebene Wert ist ein Objekt, das Routenparameter enthält. |
.controllerName | Der Name des Controllers. |
.htmlAttribute | Der URL-Attributsatz ist ein Objekt, das die für das Element festzulegenden HTML-Attribute enthält. |
.Protokoll | URL-Protokoll, z. B. „http“ oder „https“. |
.hostname | Der Hostname der URL. |
.Fragment | URL-Fragmentname (Ankername). |
Hinweis: Sie können Werte an Controller-Aktionen übergeben. Sie können beispielsweise die ID des Datenbankeintrags an den Bearbeitungsvorgang der Datenbank übergeben:
Razor-Syntax C#:
@Html.ActionLink("Datensatz bearbeiten", "Bearbeiten", neue {Id=3})
Razor-Syntax VB:
@Html.ActionLink("Datensatz bearbeiten", "Bearbeiten", Neu mit{.Id=3})
Der obige Html.ActionLink()-Helfer gibt den folgenden HTML-Code aus:
<a href="/Home/Edit/3">Datensatz bearbeiten</a>
Die folgenden HTML-Helfer können zum Rendern (Ändern und Ausgeben) von HTML-Formularelementen verwendet werden:
BeginForm()
EndForm()
TextArea()
TextBox()
CheckBox()
RadioButton()
ListBox()
DropDownList()
Versteckt()
Passwort()
ASP.NET-Syntax C#:
<%= Html.ValidationSummary("Erstellen war nicht erfolgreich. Bitte korrigieren Sie die Fehler und versuchen Sie es erneut.") %> <% using (Html.BeginForm()){%> <p> <label for="FirstName">First Name :</label> <%= Html.TextBox("FirstName") %> <%= Html.ValidationMessage("FirstName", "*") %> </p> <p> <label for="LastName">Nachname:</label> <%= Html.TextBox("LastName") %> <%= Html.ValidationMessage("LastName", "*") %> </ p> <p> <label for="Password">Password:</label> <%= Html.Password("Password") %> <%= Html.ValidationMessage("Password", "*") %> </p> <p> <label for="Password">Passwort bestätigen:</label> <%= Html.Password("ConfirmPassword") %> < %= Html.ValidationMessage("ConfirmPassword", "*") %> </p> <p> <label for="Profile">Profile:</label> <%= Html.TextArea("Profile", new {cols=60, rows=10})%> </p> <p> <%= Html.CheckBox("ReceiveNewsletter") %> <label for="ReceiveNewsletter" style= "display:inline">Newsletter erhalten?</label> </p> <p> <input type="submit" value="Registrieren" /> </p> <%}%>
Das Obige ist eine Einführung in den ASP.NETMVCHTML-Helfer.