terça-feira, 25 de agosto de 2009

Criando html helpers customizados em asp.net mvc

Como demonstrei no artigo anterior: Utilizando html helpers, neste artigo demonstro como criar html helpers customizados, podendo esse ser totalmente customizado.
Neste exemplo vou demonstrar como criar um controle que exibe um label customizado.
1º Passo: Crie uma pasta chamada Helpers na raiz do seu projeto asp.net mvc.
2º Passo: Crie uma classe dentro desta pasta, o nome é de sua escolha, a minha chamei de CustomHtmlHelpers.vb.
3º Passo: Criar o método que retorna um label de acordo com minhas configurações.
Para isso crio um método que retorna uma string que é o html gerado pela minha nova label;

Public Class CustomHtmlHelper
Public Shared Function Label(ByVal target As String, ByVal text As String) As String
Return String.Format("<label for='{0}'>{1}</label>", target, text)
End Function
End Class


4º Passo: Agora meu custom html helper já está pronto para ser utilizado, para utilizá-lo você necessita ir até a view onde deseja utilizá-lo e importar o namespace como no exemplo:

<%@ Import Namespace="Seu namespace aqui" %>

Para invocar o html helper basta invocá-lo pelo nome do método:

<%=CustomHtmlHelper.Label("txt1", "Meu label customizado")%>

Referência: http://www.asp.net/learn/mvc/tutorial-09-vb.aspx

Caracteres especiais em html

Uma coisa muito trivial em html mas que algumas vezes nos toma tempo procurando como faz são os caracteres especiais em html, por isso lanço aqui uma tabela com a maioria dos caracteres especiais utilizados no html.








Á .............. &Aacute;

á ............... &aacute;

 ................. &Acirc;

â ................ &acirc;

À ............... &Agrave;

à ............... &agrave;

Å ................. &Aring;

å ................ &aring;

à ................ &Atilde;

ã ............... &atilde;

Ä .................. &Auml;

ä ................. &auml;

Æ ................. &AElig;

æ .................. &aelig;

É ................ &Eacute;

é ............... &eacute;

Ê ................. &Ecirc;

ê ................ &ecirc;

È ................ &Egrave;

è ............... &egrave;

Ë .................. &Euml;

ë ................. &euml;

Ð ................... &ETH;

ð .................. &eth;




Í ................ &Iacute;

í ............... &iacute;

Î ................. &Icirc;

î ................ &icirc;

Ì ................ &Igrave;

ì ............... &igrave;

Ï .................. &Iuml;

ï ................. &iuml;

Ó ........... &Oacute;

ó .............. &oacute;

Ô ................ &Ocirc;

ô ................. &ocirc;

Ò .............. &Ograve;

ò ............... &ograve;

Ø ................ &Oslash;

ø ............... &oslash;

Õ ................ &Otilde;

õ ............... &otilde;

Ö .................. &Ouml;

ö ................. &ouml;




Ú .............. &Uacute;

ú ............... &uacute;

Û ................ &Ucirc;

û ................ &ucirc;

Ù ............. &Ugrave;

ù .............. &ugrave;

Ü ................. &Uuml;

ü ................. &uuml;

Ç ............... &Ccedil;

ç ............... &ccedil;

Ñ ............... &Ntilde;

ñ ............... &ntilde;

< ................. &lt;

> ................. &gt;

& ................ &amp;

" ................. &quot;

® .................. &reg;

© ............... &copy;

Ý ............ &Yacute;

ý ............ &yacute;

Þ .............. &THORN;

þ ................ &thorn;

ß ................ &szlig;


Utilizando html helpers em asp.net mvc

Uma facilidade muito interessante que foi embutida no asp.net mvc são os html helpers, são uma espécie pequenos "geradores" de códigos html como por exemplo: textbox, labels, forms e etc. Sendo estes totalmente customizáveis e podem ser extendidos.

No exemplo abaixo demonstro como criar um textbox rapidamente utilizando um html helper.

A tag html que desejo criar segue a seguinte proposta em html:

<input type="text" id="txt1" style="background:yellow;color:red" value="my text" />

Para criar esse campo utilizando um html helper segue o seguinte código:

<%=Html.TextBox("txt1", "my text", New With {.style = "background:yellow;color:red"})%>

Existe esse entre muitos outros html helpers que podem ser utilizados como label, form, imagens e etc.

Referência: http://www.asp.net/learn/mvc/tutorial-09-vb.aspx

segunda-feira, 24 de agosto de 2009

Criando rotas customizadas em asp.net mvc

Uma das grandes facilidades embutidas no asp.net mvc é a criação de rotas customizadas que nos permite criar urls amigáveis para web sites, no exemplo abaixo exemplifico como criar rotas customizadas utilizando vb.net.

Para criar essas rotas devemos utilizar o arquivo Global.asax, podemos ver que no arquivo por Default existe a seguinte rota:

routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = ""} _
)


Para criar uma rota devemos suprir os seguintes parâmetros na sequência:
Nome, Url a ser exibida, e caminho da action responsável.

No exemplo quero criar uma url para meu site que facilite o entendimento do usuário e facilite os buscadores a indexar meu site.

A url que desejo é: http://meusite.com/produto/cadastrar

A rota dever ser configurada da seguinte maneira:

routes.MapRoute( _
"Cadastro", _
"produto/cadastrar", _
New With {.controller = "Produto", .action = "cadastro"} _
)


Agora vamos supor que necessito passar um parâmetro na url para recuperar posteriormente por exemplo para consultar um produto como no exemplo abaixo:
http://meusite.com/produto/1

A rota deve ser configurada da seguinte maneira:

routes.MapRoute( _
"Cadastro", _
"produto/{id}", _
New With {.controller = "Produto", .action = "consultar"} _
)


OBS: No exemplo acima como o código do produto é variável, considero este como parâmetro na rota para que possa ser passado posteriormente no momento de montar a url.

Referência: http://www.asp.net/learn/mvc/tutorial-23-vb.aspx

quinta-feira, 20 de agosto de 2009

FriendFeed conectando tudo a tudo

Em minha primeria experiência com FriendFeed fiquei muito animado, apesar de não conhecê-lo anteriormente, descobri o mesmo através de uma notícia na qual relatava que o Facebook havia comprado o mesmo recentimente. Criei minha conta e vi que apesar de um sistema simples à vista do usuário, é um sistema que integra tudo a tudo, você pode publicar os posts do seu blog, suas fotos do flickr, seus links do delicious e seu perfil do facebook, seus tweets e etc. Vale a pena conferir mais esse hit da web.

http://friendfeed.com/

sexta-feira, 14 de agosto de 2009

Descubra as pesquisas mundiais com Google Insights

O Google disponibiliza uma ferramenta muito interesante chamada Google Insights for Search para webmasters e pessoas de negócios. É uma ferramenta que possibilita descobrir o que o mundo procura na Internet, podendo filtrar os resultados por diversos critérios como tempo, região, termos de pesquisa e etc.