Escolar Documentos
Profissional Documentos
Cultura Documentos
NET -
Revista easy .Net Magazine 25 - Parte 1
Este artigo trata dos recursos nativos no ASP.NET (como gridview, DataGrid, etc) para a criação de
aplicações Web utilizando os recursos de Web Forms. A ideia básica é criar um sistema de blog.
Artigos
Este artigo trata dos recursos nativos no ASP.NET (como gridview, DataGrid, etc) para a
criação de aplicações Web utilizando os recursos de Web Forms. A ideia básica é criar
um sistema de blog.
Desenvolver aplicações ASP.NET usando Web Forms é a maneira mais prática de criar
projetos que serão executados em browsers, visto que através do mesmo você possui um
conjunto de controles prontos para serem utilizados, gerando uma grande produtividade.
Para poder explorar os recursos do ASP.NET, este artigo vai considerar a utilização dos
mesmos em um projeto para gerenciar blogs de vários usuários.
Nestes blogs, o usuário poderá enviar suas publicações – baseadas em texto puro para
simplificar algumas tarefas – além de gerenciar os dados do blog.
Parte destes problemas (no .NET) são resolvidos de maneira bem simples, através de
server controls, que são componentes que podem ser destinados a montar uma interface
com o usuário, tais como TextBox, Labels, Combo Box entre outros, além de controles
não visuais destinados a realizar tarefas de validações, por exemplo. Todos estes
componentes podem ser facilmente manipulados através das caixas de ferramentas do
Visual Studio e do editor de propriedades.
2
Um dos aspectos mais importantes e também mais criticados do ASP.NET é o recurso
de criação de Web Forms. Este consiste de server controls aninhados em uma tag
<form>, ou seja, você pode fazer o design de um Web Form como faria em uma
aplicação Windows Forms, dada a sua facilidade de manipulação. Mas, muitos excessos
são cometidos por alguns desenvolvedores menos preparados e, rapidamente começaram
a aparecer páginas muito pesadas que tentavam recriar nos browsers o mesmo ambiente
de aplicações desktop. Isso é um erro, porque o browser é um ambiente distinto do
desktop, os recursos são limitados e, ainda que seja possível construir interfaces com um
layout rico, certos cuidados precisam ser tomados, como evitar a utilização excessiva de
controles, componentes desnecessários e validações intermináveis.
Componentes ASP.NET
Quando se está desenvolvendo projetos com ASP.NET, além das facilidades do designer
e do code behind, o desenvolvedor também tem à sua mão uma variedade grande de
controles de servidor que simplificam algumas tarefas.
Estes controles podem ser arrastados para o designer e ter suas propriedades
configuradas pelo editor de propriedades do Visual Studio. Mas, uma das principais
características é que executam tarefas importantes, simplificando nosso trabalho. Veja
alguns grupos de controles:
1. Componentes para editar e exibir dados: envolve controles onde os dados são
editados ou visualizados. Entre os controles mais comuns estão TextBox, Label,
2
GridView, FormView, Radio Button, CheckBox, além de outros das mesmas categorias.
3. Componentes para validação dos dados: estes permitem verificar os dados que
foram editados nos controles e testar a sua validade tanto no lado do cliente (executando
código JavaScript gerado automaticamente) como do lado do servidor. Estes validadores
são executados assim que uma ação HttpPost é disparada. Esta ação é tipicamente
executada quando um usuário clica em um botão para enviar os dados para o servidor,
por exemplo.
Foram citados nestes grupos somente os controles nativos que são fornecidos com uma
instalação padrão do Visual Studio e ferramentas de programação para o Framework
.NET. Existem no mercado inúmeros controles para esta plataforma, tanto gratuitos
como pagos. Verifique no site oficial para a plataforma ASP.NET (seção Links) para
conhecer alguns destes.
2
código HTML. Como sempre, existem aspectos positivos e negativos para as duas
abordagens.
O editor HTML deve ser utilizado para realizar ajustes mais rápidos, como alterar o
estilo CSS do fundo de algum controle ou até mesmo alterar seu ID.
Por outro lado, embora a utilização do editor visual permita um rápido desenvolvimento
da página com a verificação imediata do resultado, o código HTML gerado tem a
tendência de ser mais carregado, com elementos desnecessários e de difícil manutenção.
O que se pode fazer é usar uma combinação do melhor dos dois mundos. Assim, para
criar páginas em branco, com layout mais simplificado, onde somente elementos mais
básicos serão inseridos, tem-se relativa facilidade com esta linguagem, usando o editor
HTML.
2
Já o editor visual permite editar algumas propriedades de maneira mais simples em
componentes mais complexos, como o GridView, onde é necessário configurar várias
colunas que deverão ser exibidas no mesmo. Neste caso, a utilização do editor visual
facilita bastante, visto que você possui um assistente para criar as mesmas.
Mas, um dos recursos mais interessantes é a possibilidade de ter uma janela exibindo
tanto o código HTML, como o design. Isto é feito com o botão Split e a Figura 2 mostra
esta janela em ação.
Como foi dito anteriormente, o ASP.NET usa páginas e controles do lado do servidor
para gerar o conteúdo para o browser.
Em alguns casos, é possível interagir com JavaScript e assim executar códigos do lado
do cliente da aplicação.
Ao utilizar esses códigos JavaScript, estes são executados sem que seja necessário o
envio de dados para o servidor. Assim, em casos com validações ou interações com o
usuário, é interessante usar JavaScript.
Uma aplicação típica é pedir a confirmação de alguma ação, por exemplo, ao clicar em
um botão para enviar dados para o servidor.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>BlogEngine - Gerenciador de Blogs</title>
<script language="javascript">
function confirmacao(msg) { return confirm(msg); }
</script>
</head>
Ou usando arquivos com a extensão .js contendo o código JavaScript que deve ser usado
em diversos pontos do projeto e ligando este arquivo às páginas ASPX na TAG <head>,
como neste outro exemplo:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>BlogEngine - Criação do Blog</title>
<script type="text/javascript" src="scripts.js"></script>
</head>
2
A escolha da melhor opção vai depender de cada caso e de cada aplicação, porém, como
os arquivos scripts precisam ser enviados para o cliente junto com o conteúdo, a
tendência é ter a carga cada vez mais lenta, conforme o tamanho deste arquivo for
crescendo.
Por outro lado, é bom observar que alguns browsers desabilitam por padrão a execução
de scripts. Assim, se alguma função mais avançada e vital para a execução do programa
depender de um JavaScript, pode ser que sua aplicação não funcione corretamente.
Validadores
Uma das boas práticas no desenvolvimento de qualquer tipo de software é que antes que
os dados sejam persistidos no banco, estes possam ser validados para evitar problemas,
tais como:
2. Os tipos de dados podem ser incompatíveis. O usuário pode ter digitado um valor
errado em um campo numérico, uma data no formato errado.
3. Dados mais complexos podem estar incorretos, tais como endereços de e-mail que
precisam sempre respeitar um formato. O usuário desavisado pode acabar enviando um
endereço incorreto.
4. Validações para manter regras da aplicação. Pode ser que no seu projeto não possam
haver nomes repetidos ou endereços de e-mail repetidos, por exemplo.
Estes tipos de verificação podem ser feitos de diversas maneiras, tanto usando código
escrito com C# no code behind da aplicação como em JavaScript.
2
O uso do código escrito com C# apresenta a desvantagem de exigir uma validação no
servidor e, consequentemente, espera do usuário nesta tarefa. Já a utilização do
JavaScript pode tornar a validação insegura, visto que o usuário pode desativa-lo em
qualquer navegador. Na prática, o ideal é utilizar os dois, simplesmente pelo fato que a
utilização do JavaScript permite que as informações sejam validadas sem a necessidade
da página ir até o servidor e, caso o usuário desative o Javascript, o mesmo seria
automaticamente validado pelo servidor, através do C#.
2
Figura 3. Controles para validação
Controle Descrição
CompareValidator Permite comparar o conteúdo de um
controle com outro.
2
As expressões regulares são códigos
escritos para representar padrões para
formatos de dados como datas,
endereços da Internet e de e-mail, por
exemplo.
RequiredFieldValidator Faz com que o preenchimento do
controle seja obrigatório. A página vai
ser considerada inválida até que o
controle seja preenchido.
Enquanto LINQ permite executar consultas no banco de dados usando uma sintaxe bem
próxima àquela do C#, com o EF é possível mapear os dados armazenados em bancos de
dados relacionais, como o SQL Server, para classes e objetos.
A ideia básica do EF é definir classes para cada tabela do banco de dados. Usando estas
classes, as tradicionais operações para consultar, inserir, atualizar e excluir os dados no
banco são executadas através de métodos sem que seja necessário inserir instruções em
SQL no seu código, embora, seja possível personalizar estas instruções em alguns casos.
2
A Figura 4 mostra um exemplo de mapeamento baseado em um banco de dados SQL
Server. Observe sua semelhança com os diagramas de classe.
3. Refinar o comportamento do mapeamento dos dados para que estes sejam carregados
apenas no momento necessário;
A aplicação de exemplo 2
Vamos por em prática os conceitos que foram apresentados em uma aplicação de
exemplo e que terá as seguintes características:
2. Cada blog vai ser gerenciado por um usuário que vai ter de cadastrar seu nome, um e-
mail e uma senha para gerenciar o blog.