Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo .net magazine 71 - Criando controles personalizados no ASP.NET
Neste artigo veremos como criar controles personalizados para o ASP.NET. Criaremos um “ASP.NET Server control”, também conhecido como Web Custom Control. Veremos como adicionar propriedades, funcionalidades no servidor e funcionalidades no cliente com JavaScript.
.net Magazine 71
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 71
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 71
Web
Criando controles personalizados no ASP.NET
ASP.NET Server Controls de forma inteligente e reaproveitável
Do que trata o artigo
Neste artigo veremos como criar controles personalizados para o ASP.NET. Criaremos um “ASP.NET Server control”, também conhecido como Web Custom Control. Veremos como adicionar propriedades, funcionalidades no servidor e funcionalidades no cliente com JavaScript.
Para que serve
Neste artigo veremos como criar controles totalmente personalizados, de acordo com suas necessidades de forma inteligente e reaproveitável. Ao criar controles, estamos reutilizando código, utilizando boas práticas de programação orientada a objetos (POO), visto que nossa classe (o controle) poderá ser utilizada em vários projetos, sem replicação de código.
Em que situação o tema é útil
Além de reaproveitar código de forma eficiente, controles personalizados podem facilitar a manutenção, e até ser uma fonte de renda adicional. Os conhecimentos aqui adquiridos são úteis para serem aplicados em qualquer projeto Web, visto que a criação de um controle independe de outros pontos do projeto, além de ser uma forma de modularização.
Resumo do DevMan
Frequentemente necessitamos de controles que tenham um comportamento personalizado, especial para determinado tipo de aplicação ou ainda um controle que reproduza um comportamento padronizado em todos os projetos da empresa. Nesse caso o melhor a fazer é criar controles customizados. Com eles você pode manter a Orientação a Objetos e utilizá-la para deixar o código mais funcional, mais fácil de ler, de estender e porque não, mais elegante. As características parametrizáveis do controle ficam armazenadas em propriedades, da mesma forma utilizada com os controles padrão do ASP.NET e também possuirá métodos e eventos, com toda a lógica encapsulada e separada do código da página Web, tornado-a mais limpa.
Criar aplicações inteligentes para web deixou de ser há um bom tempo apenas formulários HTML com acesso à base de dados. O nível de interação com o usuário deve ser grande, para que ele tenha uma boa experiência de uso e consiga realizar as operações sem pensar e sem treinamento. Além de propiciar um retorno sobre o investimento, as aplicações quando desenvolvidas devem criar códigos que possam ser facilmente incorporados em projetos futuros. Isto permite que a cada aplicação criada, recursos possam ser reaproveitados, e assim, o custo do projeto tende a diminuir, deixando-o mais rentável e competitivo.
Quando disse que o usuário deve ser capaz de realizar operações sem pensar, isto não é apenas uma exigência da interface, mas é também uma exigência do seu usuário interno, e da sua equipe de desenvolvimento. Devemos pensar ao escrever código que outras pessoas possam ler e dar manutenção. Ao criar componentes e controles personalizados o mesmo cuidado deve ser tomado.
Um conceito muito importante para os controles é saber como eles são renderizados. Sabemos que o padrão de desenvolvimento de software para a internet é o HTML, mas cada plataforma possui seus controles personalizados, como por exemplo, calendários. Sabemos também que em HTML não existe um elemento “calendário”, mas certamente já vimos um calendário na web. O ASP.NET possui um controle padrão de calendário, que se você arrastar para o modo de design, e rodar a página, um calendário será exibido no navegador. O que na verdade acontece é que o controle é renderizado em HTML como tabelas, ou seja, o calendário do ASP.NET possui um processo de transformação para tabela. Isto acontece com todos os controles. A textbox do asp.net vira um “<input type=”text”>” do HTML, e assim por diante.
Parte prática
Nesta parte prática, vou mostrar como criar um controle personalizado, similar a um DropDownList (combo box). A grande diferença é que este controle pode receber imagens como item, inclusive cores de fundo. Em projetos com um design mais sofisticado, este controle pode ser de grande utilidade. A Figura 1 mostra o resultado que obteremos ao final do artigo.
Figura 1. Controle personalizado
Cada vez mais o programador precisa pensar na usabilidade e experiência do usuário. Este tipo de controle, se bem aplicado, pode deixar a experiência do usuário mais rica e intuitiva, diminuindo custo de treinamento e suporte. É possível inclusive exibir gif animados e outros tipos de mídia em cada item, deixando a interatividade ainda maior, sem contar o fato de ser compatível com os principais navegadores.
O foco deste projeto será não somente como fazê-lo, mas será levado em conta aspectos de criação do controle para que ele seja efetivamente “plug and play”, ou seja, tudo que for necessário estar encapsulado em uma .dll, e não com inúmeros arquivos soltos. Veremos também como criar javascript de forma mais isolada, com menos risco de conflitar com outros javascripts existentes em outros controles.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Criando controles personalizados no ASP.NET
ASP.NET Server Controls de forma inteligente e reaproveitável
Do que trata o artigo
Neste artigo veremos como criar controles personalizados para o ASP.NET. Criaremos um “ASP.NET Server control”, também conhecido como Web Custom Control. Veremos como adicionar propriedades, funcionalidades no servidor e funcionalidades no cliente com JavaScript.
Para que serve
Neste artigo veremos como criar controles totalmente personalizados, de acordo com suas necessidades de forma inteligente e reaproveitável. Ao criar controles, estamos reutilizando código, utilizando boas práticas de programação orientada a objetos (POO), visto que nossa classe (o controle) poderá ser utilizada em vários projetos, sem replicação de código.
Em que situação o tema é útil
Além de reaproveitar código de forma eficiente, controles personalizados podem facilitar a manutenção, e até ser uma fonte de renda adicional. Os conhecimentos aqui adquiridos são úteis para serem aplicados em qualquer projeto Web, visto que a criação de um controle independe de outros pontos do projeto, além de ser uma forma de modularização.
Resumo do DevMan
Frequentemente necessitamos de controles que tenham um comportamento personalizado, especial para determinado tipo de aplicação ou ainda um controle que reproduza um comportamento padronizado em todos os projetos da empresa. Nesse caso o melhor a fazer é criar controles customizados. Com eles você pode manter a Orientação a Objetos e utilizá-la para deixar o código mais funcional, mais fácil de ler, de estender e porque não, mais elegante. As características parametrizáveis do controle ficam armazenadas em propriedades, da mesma forma utilizada com os controles padrão do ASP.NET e também possuirá métodos e eventos, com toda a lógica encapsulada e separada do código da página Web, tornado-a mais limpa.
Criar aplicações inteligentes para web deixou de ser há um bom tempo apenas formulários HTML com acesso à base de dados. O nível de interação com o usuário deve ser grande, para que ele tenha uma boa experiência de uso e consiga realizar as operações sem pensar e sem treinamento. Além de propiciar um retorno sobre o investimento, as aplicações quando desenvolvidas devem criar códigos que possam ser facilmente incorporados em projetos futuros. Isto permite que a cada aplicação criada, recursos possam ser reaproveitados, e assim, o custo do projeto tende a diminuir, deixando-o mais rentável e competitivo.
Quando disse que o usuário deve ser capaz de realizar operações sem pensar, isto não é apenas uma exigência da interface, mas é também uma exigência do seu usuário interno, e da sua equipe de desenvolvimento. Devemos pensar ao escrever código que outras pessoas possam ler e dar manutenção. Ao criar componentes e controles personalizados o mesmo cuidado deve ser tomado.
Um conceito muito importante para os controles é saber como eles são renderizados. Sabemos que o padrão de desenvolvimento de software para a internet é o HTML, mas cada plataforma possui seus controles personalizados, como por exemplo, calendários. Sabemos também que em HTML não existe um elemento “calendário”, mas certamente já vimos um calendário na web. O ASP.NET possui um controle padrão de calendário, que se você arrastar para o modo de design, e rodar a página, um calendário será exibido no navegador. O que na verdade acontece é que o controle é renderizado em HTML como tabelas, ou seja, o calendário do ASP.NET possui um processo de transformação para tabela. Isto acontece com todos os controles. A textbox do asp.net vira um “<input type=”text”>” do HTML, e assim por diante.
Parte prática
Nesta parte prática, vou mostrar como criar um controle personalizado, similar a um DropDownList (combo box). A grande diferença é que este controle pode receber imagens como item, inclusive cores de fundo. Em projetos com um design mais sofisticado, este controle pode ser de grande utilidade. A Figura 1 mostra o resultado que obteremos ao final do artigo.
Figura 1. Controle personalizado
Cada vez mais o programador precisa pensar na usabilidade e experiência do usuário. Este tipo de controle, se bem aplicado, pode deixar a experiência do usuário mais rica e intuitiva, diminuindo custo de treinamento e suporte. É possível inclusive exibir gif animados e outros tipos de mídia em cada item, deixando a interatividade ainda maior, sem contar o fato de ser compatível com os principais navegadores.
O foco deste projeto será não somente como fazê-lo, mas será levado em conta aspectos de criação do controle para que ele seja efetivamente “plug and play”, ou seja, tudo que for necessário estar encapsulado em uma .dll, e não com inúmeros arquivos soltos. Veremos também como criar javascript de forma mais isolada, com menos risco de conflitar com outros javascripts existentes em outros controles.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal .net
Publicidade
Thomas Alexander Semple
Space do autor
É engenheiro eletrônico com ênfase em telecomunicações e é líder de projetos da T4W, com mais de 10 anos de experiência, participa de projetos para empresas dos mais diversos segmentos. A T4W é uma empresa de tecnologia cuja área de desenvolvimento atende empresas de médio e grande porte em projetos...
Space do autor


0
0
