Usuário com melhor resposta
ASP.NET MVC HTML Helper

Pergunta
-
Respostas
-
Vamos lá...
Algumas razões que eu acho válidas...
1) Evitar erros de sintaxe. O compilador vai te ajudar a não cometer nenhum erro.
2) Esquecer de fechar corretamente as tags. Usando os "using", o problema tá resolvido
3) Escrevendo seus próprios HTML Helper vc evita muito código HTML desnecessário dentro da view. Pode criar controles seus mesmo (que internamente utilize-se de outros HTML helper).
4) A View fica bem mais fácil de ler.
Abraço,
Eric
- Sugerido como Resposta Buzios terça-feira, 27 de abril de 2010 12:27
- Marcado como Resposta André Borges MedeirosModerator quarta-feira, 30 de março de 2011 21:51
Todas as Respostas
-
Fala César, blz.
O uso do Helper é mais claro quando nos deparamos com uma situação semelhante a essa, imagine que que voce já criou um padrão de grid de dados para seu projeto, embutiu um javascript para poder sortir as colunas, ordernar e tal, mas voce cansou de criar na mão o nomes das colunas, vincular javascript, toda vez que precisa exibir dados em uma view, dae vem a ideia, eu podera criar um método extension para que eu possa deixar de escrever <tr> e <td>, repetir javascript e de quebra configurar em menos linhas quais colunas eu desejo mostrar e os seus nomes, e ae que entra a utilidade e facilidade que os helpers podem nos oferecer.
Um exemplo disso é o Grid customizado, que podemos gerar com os Helpers do projeto MVC Contrib, de uma olhada, destaco a parte em que é renderizada uma partial view para uma celula mais complexa.
<% = Html.Grid ( Model)
.Columns ( column => {
column.For ( x => x.Id ) .Named ( "Person ID" ) ;
column.For ( x => x.Name ) ;
column.For ( x => x.Gender ) ;
column.For ( x => x.DateOfBirth ) .Format ( "{0:d}" ) ;
column.For ( "View Person" ) .Named ( "" ) .Partial ( "ViewPersonPartial" ) ; //Uso de Partial para celulas complexas
} ) .RowStart ( row => string .Format ( "<tr{0}>" , row.IsAlternate ? "style=\" background-color: #CCDDCC\"" : "" ) )
%>No link abaixo um video do site oficial do asp.net ensinando a criar seus próprios Helpers e em seguida o site que peguei o exemplo do Grid
http://www.asp.net/learn/mvc-videos/video-402.aspx
http://www.jeremyskinner.co.uk/2009/03/01/mvccontrib-grid-part-5-the-action-syntax/
Desculpe o exemplo de código estar mal-formatado, não consegui dar um jeito nele.
Valew espero ter ajudado.
- Editado _Willian_ sábado, 24 de abril de 2010 16:16 código mal formatado
-
Vamos lá...
Algumas razões que eu acho válidas...
1) Evitar erros de sintaxe. O compilador vai te ajudar a não cometer nenhum erro.
2) Esquecer de fechar corretamente as tags. Usando os "using", o problema tá resolvido
3) Escrevendo seus próprios HTML Helper vc evita muito código HTML desnecessário dentro da view. Pode criar controles seus mesmo (que internamente utilize-se de outros HTML helper).
4) A View fica bem mais fácil de ler.
Abraço,
Eric
- Sugerido como Resposta Buzios terça-feira, 27 de abril de 2010 12:27
- Marcado como Resposta André Borges MedeirosModerator quarta-feira, 30 de março de 2011 21:51
-
Depende, penso que não seria nem produtivo nem agradável fazer uma dropdownlist ou checkboxlist no "braço", e sem intelisense. Também acho que suas views ficariam de difícil entendimento por causa da tag soup que isso geraria.
Recomendo o uso do FluentHtml, assim voce pode criar controles HTML usando sintaxe lambda, você deixa seu código BEM menor(já que evita o Overload ____(inúmeras sobrecargas de métodos) dos HTML Helpers) e tem facilidade na criação até dos mais complicados controles.
Espero ter ajudado.
www.twitter.com/wirebane Se a resposta te ajudar, marque como útil.