Gli ultimi tutorial di sviluppo web
 

ASP.NET MVC - HTML Helpers


Helpers HTML vengono utilizzati per modificare l'output HTML


Helpers HTML

Con MVC, aiutanti HTML sono molto simili tradizionali controlli ASP.NET Web Form.

Proprio come i controlli dei moduli web in ASP.NET, aiutanti HTML vengono utilizzati per modificare HTML. Ma aiutanti HTML sono più leggeri. A differenza di controlli Web Form, un aiutante HTML non ha un modello di eventi e stato di visualizzazione.

Nella maggior parte dei casi, un aiutante HTML è solo un metodo che restituisce una stringa.

Con MVC, è possibile creare i propri aiutanti, o utilizzare il costruito nel aiutanti HTML.


Helpers HTML standard

MVC include helper standard per i più comuni tipi di elementi HTML, come i link HTML e gli elementi del modulo HTML.


Link HTML

Il modo più semplice per rendere un collegamento HTML in è quello di utilizzare il HTML. ActionLink() HTML. ActionLink() helper.

Con MVC, l' Html. ActionLink() Html. ActionLink() non si collega a una visualizzazione. Si crea un collegamento a un azione del controller.

Razor Sintassi:

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

ASP Sintassi:

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

Il primo parametro è il testo del link, e il secondo parametro è il nome dell'azione di controllo.

Il Html. ActionLink() Html. ActionLink() helper sopra, emette il seguente codice HTML:

<a href="/Home/About">About this Website</a>

Il Html. ActionLink() Html. ActionLink() helper ha diverse proprietà:

Proprietà Descrizione
.linkText Il testo del link (label)
.actionName L'azione di destinazione
.routeValues I valori passati all'azione
.controllerName Il controllore di destinazione
.htmlAttributes L'insieme di attributi al link
.protocol Il protocollo di collegamento
.hostname Il nome host per il link
.fragment L'obiettivo di ancoraggio per il link

Nota: è possibile passare valori ad un'azione di controllo. Ad esempio, è possibile passare l'ID di un record di database ad un'azione di database edit:

Razor Sintassi C #:

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

Razor Sintassi VB:

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

Il Html. ActionLink() Html. ActionLink() helper sopra, emette il seguente codice HTML:

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

HTML elementi del modulo

Ci seguenti aiutanti HTML possono essere utilizzati per il rendering (modify and output) elementi del modulo HTML:

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

ASP.NET Sintassi C #:

<%= Html. ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html. BeginForm() ){%>
<p>
<label for="FirstName">First Name:</label>
<%= Html. TextBox("FirstName") %>
<%= Html. ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Last Name:</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">Confirm Password:</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">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>