ASP.NET MVC - Aiutanti HTML

Gli aiutanti HTML vengono utilizzati per modificare l'output HTML.

Aiutanti HTML

Attraverso MVC, gli aiutanti HTML sono simili ai controlli tradizionali ASP.NET Web Form.

Simili ai controlli web form di ASP.NET, gli aiutanti HTML vengono utilizzati per modificare l'HTML. Tuttavia, gli aiutanti HTML sono più leggeri. A differenza dei controlli web form, gli aiutanti HTML non hanno modello di eventi e view state.

Nella maggior parte dei casi, gli aiutanti HTML sono semplicemente metodi che restituiscono una stringa.

Attraverso MVC, è possibile creare i propri aiutanti o utilizzare quelli integrati HTML.

Aiutanti HTML standard

MVC include la maggior parte degli aiutanti standard per gli elementi HTML più comuni, come i link HTML e gli elementi di modulo HTML.

Link HTML

Il modo più semplice per presentare un link HTML è utilizzare l'aiutante Html.ActionLink().

Attraverso MVC, Html.ActionLink() non si connette alla vista. Crea un collegamento all'azione del controller (controller action).

Sintassi Razor:

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

Sintassi ASP:

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

Il primo parametro è il testo del link, il secondo parametro è il nome dell'azione del controller.

Il helper Html.ActionLink() sopra produce il seguente HTML:

<a href="/Home/About">Informazioni su questo Sito</a>

Parametri del helper Html.ActionLink():

Parametro Descrizione
linkText Testo interno dell'elemento di riferimento.
actionName Nome dell'azione.
controllerName Nome del controller.
protocol Protocollo dell'URL, come "http" o "https".
hostname Nome dell'host dell'URL.
fragment Nome del segmento di URL (nome del punto di riferimento).
routeValues Un oggetto che contiene i parametri di rotta.
htmlAttributes Un oggetto che contiene le caratteristiche HTML da impostare per l'elemento.

Nota:Puoi passare valori all'azione del controller. Ad esempio, puoi passare l'id di una registrazione per un'operazione di editing del database.

Sintassi Razor C#:

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

Sintassi Razor VB:

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

Il helper Html.ActionLink() sopra produce il seguente HTML:

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

Elementi di form HTML

Le seguenti helper HTML possono essere utilizzate per presentare (modificare ed esportare) elementi di form HTML:

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

Sintassi ASP.NET C#:

<%= Html.ValidationSummary("Creazione non riuscita. Correggi gli errori e 
prova di nuovo.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="NomePrimo">Nome Primo:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Cognome:</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">Conferma Password:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profilo:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Ricevere la newsletter?</label>
</p>
<p>
<input type="submit" value="Registrati" />
</p>
<%}%>