A estrutura ASP.NET MVC inclui métodos auxiliares que facilitam a renderização de HTML em uma visualização.
Auxiliares HTML são usados para modificar a saída HTML.
Com o MVC, os auxiliares HTML se assemelham aos controles tradicionais de formulário da Web do ASP.NET.
Assim como o controle Web Form no ASP.NET, os auxiliares HTML são usados para modificar HTML. Mas os auxiliares HTML são mais leves. Ao contrário dos controles de formulário da Web, os auxiliares HTML não possuem modelo de evento nem estado de visualização.
Na maioria dos casos, um auxiliar HTML é apenas um método que retorna uma string.
Com o MVC, você pode criar seus próprios auxiliares ou usar diretamente os auxiliares HTML integrados.
O MVC inclui auxiliares padrão para os tipos de elementos HTML mais comumente usados, como links HTML e elementos de formulário HTML.
A maneira mais simples de renderizar links HTML é usar o auxiliar HTML.ActionLink().
Com MVC, Html.ActionLink() não se conecta à visualização. Ele cria uma conexão com a ação do controlador.
Sintaxe da navalha:
@Html.ActionLink("Sobre este site", "Sobre")
Sintaxe ASP:
<%=Html.ActionLink("Sobre este site", "Sobre")%>
O primeiro parâmetro é o texto do link e o segundo parâmetro é o nome da ação do controlador.
O auxiliar Html.ActionLink() acima gera o seguinte HTML:
<a href="/Home/About">Sobre este site</a>
Algumas propriedades do auxiliar Html.ActionLink():
propriedade | descrever |
---|---|
.linkText | Texto da URL (tag), o texto interno do elemento âncora. |
.actionName | O nome da ação. |
.routeValues | O valor passado para a ação é um objeto contendo parâmetros de rota. |
.controllerName | O nome do controlador. |
.htmlAtributos | O conjunto de atributos de URL é um objeto que contém os atributos HTML a serem definidos para o elemento. |
.protocolo | Protocolo de URL, como "http" ou "https". |
.hostname | O nome do host do URL. |
.fragmento | Nome do fragmento de URL (nome da âncora). |
Nota: Você pode passar valores para ações do controlador. Por exemplo, você pode passar o ID do registro do banco de dados para a operação Editar do banco de dados:
Sintaxe do Razor C#:
@Html.ActionLink("Editar registro", "Editar", novo {Id=3})
Sintaxe do Razor VB:
@Html.ActionLink("Editar registro", "Editar", Novo com{.Id=3})
O auxiliar Html.ActionLink() acima gera o seguinte HTML:
<a href="/Home/Edit/3">Editar registro</a>
Os seguintes auxiliares HTML podem ser usados para renderizar (modificar e gerar) elementos de formulário HTML:
BeginForm()
FimForm()
Área de Texto()
Caixa de texto()
Caixa de seleção()
Botão de opção()
Caixa de listagem()
Lista suspensa()
Escondido()
Senha()
Sintaxe ASP.NET C#:
<%= Html.ValidationSummary("A criação não foi bem-sucedida. Corrija os erros e tente novamente.") %> <% using (Html.BeginForm()){%> <p> <label for="FirstName">Nome :</label> <%= Html.TextBox("Nome") %> <%= Html.ValidationMessage("Nome", "*") %> </p> <p> <label for="Sobrenome">Sobrenome:</label> <%= Html.TextBox("Sobrenome") %> <%= Html.ValidationMessage("Sobrenome", "*") %> </ p> <p> <label for="Senha">Senha:</label> <%= Html.Password("Senha") %> <%= Html.ValidationMessage("Password", "*") %> </p> <p> <label for="Password">Confirmar senha:</label> <%= Html.Password("ConfirmPassword") %> < %= Html.ValidationMessage("ConfirmPassword", "*") %> </p> <p> <label for="Profile">Perfil:</label> <%= Html.TextArea("Perfil", new {cols=60, rows=10})%> </p> <p> <%= Html.CheckBox("ReceiveNewsletter") %> <label for="ReceiveNewsletter" style= "display:inline">Receber boletim informativo?</label> </p> <p> <input type="submit" value="Register" /> </p> <%}%>
O texto acima é uma introdução ao auxiliar ASP.NETMVCHTML.