ASP.NET MVC - HTML-helpers

HTML-helpers worden gebruikt om HTML-uitvoer te wijzigen.

HTML-helpers

Via MVC zijn HTML-helpers vergelijkbaar met traditionele ASP.NET Web Form controls.

Soortgelijk aan web form controls in ASP.NET, worden HTML-helpers gebruikt om HTML te wijzigen. Maar HTML-helpers zijn lichter. In tegenstelling tot web form controls hebben HTML-helpers geen event model en view state.

In de meeste gevallen retourneren HTML-helpers gewoon een string.

Met MVC kunt u uw eigen helpers maken of de ingebouwde HTML-helpers gebruiken.

Standaard HTML-helpers

MVC bevat standaard helpers voor de meeste gebruikte HTML-elementtypen, zoals HTML-koppelingen en HTML-formulelementen.

HTML-koppeling

De eenvoudigste manier om een HTML-koppeling weer te geven, is door de Html.ActionLink() helper te gebruiken.

Via MVC maakt Html.ActionLink() geen verbinding met de view. Het maakt een koppeling naar de controller actie (controller action).

Razor-syntaxis:

@Html.ActionLink("Over deze Website", "About")

ASP-syntaxis:

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

De eerste parameter is de linktekst, de tweede parameter is de naam van de controlleractie.

De bovenstaande Html.ActionLink() hulpmiddelen genereren de volgende HTML:

<a href="/Home/About">Over deze Website</a>

Enkele parameters van de Html.ActionLink() helper:

Parameters Beschrijving
linkText De interne tekst van het locatiepuntelement.
actionName De naam van de actie.
controllerName De naam van de controller.
protocol Het protocol van de URL, zoals "http" of "https".
hostname De hostnaam van de URL.
fragment URL-fragmentnaam (naam van het locatiepunt).
routeValues Een object dat de routeparameters bevat.
htmlAttributes Een object dat de HTML-eigenschappen bevat die moeten worden ingesteld voor dit element.

Opmerking:U kunt waarden doorgeven aan controlleracties. Bijvoorbeeld, u kunt het id van een database record doorgeven zoals bij een databasebewerking.

Razor syntaxis C#:

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

Razor syntaxis VB:

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

De bovenstaande Html.ActionLink() hulpmiddelen genereren de volgende HTML:

<a href="/Home/Edit/3">Bewerk Record</a>

HTML-formulelementen

De volgende HTML-hulpmiddelen kunnen worden gebruikt om HTML-formulelementen weer te geven (bijwerken en weergeven):

  • BeginFormulier()
  • EindeFormulier()
  • TekstArea()
  • TekstBalk()
  • Aankruisvak()
  • RadioKnop()
  • Lijst()
  • LijstKeuze()
  • Verborgen()
  • Wachtwoord()

ASP.NET syntaxis C#:

<%= Html.ValidationSummary("Aanmaken was niet succesvol. Corrigeer de fouten en 
probeer opnieuw.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">Voornaam:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Achternaam:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Wachtwoord:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Bevestig wachtwoord:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profiel:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Ontvang nieuwsbrief?</label>
</p>
<p>
<input type="submit" value="Registreren" />
</p>
<%}%>