ASP.NET MVC: Criando um HTMLHelper
No novo MVC você tem a capacidade de criar seus elementos HTML personalizados atráves da classe HTMLHelper.
O objetivo é que você possa criar uma estrutura na qual diminua a quantidade de HTML padrão que você irá escrever.
Vamos ver o exemplo abaixo:
Imagine que você queira criar um HTMLHelper que crie este HTML padrão.
<label for="usuario">Usuario:</labe>
<input type="text" id="usuario" value="" />
Para que tenhamos essa funcionalidade teremos que criar a seguinte classe.
namespace Controles {
public static class HtmlHelperBase
{
public static string LabelTextbox(this HtmlHelper helper, string identificador, string label_texto, string tipo)
{
return String.Format("<label for='{0}'>{1}</label><input type='{2}' id='{3}' value='' />", identificador, label_texto, tipo, identificador);
}
}
}
Uma vez criada a classe, agora precisamos importar a namespace e utilizar o método criado em uma View. Veja o exemplo abaixo:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="Mvc.Views.Home.Index" %>
<%@ Import Namespace="Controles" %>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<%= Html.LabelTextbox("usuario", "Aqui vem o texto", "text") %>
</asp:Content>
Bem simples e muito útil esse “poder” de personalização que temos.
Espero que tenham gostado. Em breve tem mais.
Tags: 

Um comentário para “ ASP.NET MVC: Criando um HTMLHelper ”
agosto 28th, 2009 at 12:35 pm
Bacana a idéia dos helpers…so não entendi o pq de usá-los para substituir uma tag do tipo input ou label, pois o método retorna a mesma construção html, e além disso dificulta a visualização da página durante o desenvolvimento…
Abraço !
Deixe seu comentário: