O ASP.NETultimamente vem revolucionou o desenvolvimento de aplicações para web oferecendo uma plataforma robusta e altamente produtiva elevando o potencial dos desenvolvedores com excelente recursos como: GridView, DataControls, Validators , WebParts entre outros.
Ao longo dos anos, outras necessidades foram surgindo no mercado como a criação de telas automáticas de cadastro conhecidas atualmente como Scaffold bastante populares com o Ruby on Rails.
Já faz algum tempo que a Microsoft vem investindo em linguagens dinâmicas e agora, com o lançamento do Service Pack 1 do .NET 3.5, foi disponibilizando dentro do ASP.NET um novo conjunto de controles conhecido como Dynamic Data Controls que tem objetivo de montar as telas para as ações básicas de qualquer CRUD (Create, Read, Update, Delete).
Logo após instalar o Service Pack 1 do Visual Studio 2008, vai aparecer, conforme apresentado na figura abaixo, mais um novo tipo de projeto web para o .NET 3.5 chamado de "Dynamic Data"
Após criar seu novo projeto, verifique nas referências e vai observar que ele traz as os novos namespaces System.Web.DynamicData e System.Web.DynamicData.Design.
A funcionalidade Dynamic Data Controls trabalha em conjunto com o LINQ TO SQL e Entities FrameWork, pois ele precisa de uma interface de acesso a dados que será utilizada para gerar as funcionalidade em tempo de execução.
Bem agora para continuarmos com o exemplo precisamos de uma base de dados e um diagrama LINQ que será utilizado pela aplicação. Vou utilizar um banco de dados .mdb so SQLExpress que já tenho pronto.
Agora vou criar o Diagrama LINQ e adicionar as tabelas que desejo trabalhar em meu projeto, para isso basta clicar com o lado direto do mouse no projeto, selecionar a opção add new item, e selecionar o DataClasses.dbml do LINQ. Como na imagem abaixo.
Feito isso, agora vamos arrastar as tabelas que iremos utilizar no projeto para o diagrama do LINQ. Como na imagem abaixo.
Agora vem a parte mais simples do projeto que será a implementação propriamente dita, ou seja onde colocamos a mão na massa, mais fique tranqüilo que com esta ferramenta trabalharemos muito pouco pois a idéia e que tudo seja gerado em tempo de execução. Para isso temos que configurar o Dynamic Data para utilizar o LINQ to SQL e gerar automaticamente as telas de manipulação das tabelas do diagrama.
O primeiro lugar que vamos alterar e no arquivo global.asax nele devemos localizar o método RegisterRoutes() e dentro do mesmo modifique a linha Model.RegisterContext adicionando o nome do diagrama gerado pelo LINQ que para o nosso exemplo que foi DataClassesDataContext alterando o valor de ScaffoldAllTables para true
OBS: Esta linha geralmente vem comentada dentro do arquivo global.asax devemos descomenta-la e fazer as alterações necessárias
Pronto acabamos nosso projeto! Você pode estar se perguntando, nossa mais não fiz “quase nada”...
Para ver o resultado basta rodar sua aplicação, e você verá as paginas de lista, inserção, deleção e edição prontas para utilização. Como nas imagens abaixo.
Aqui temos o menu principal com acesso a todas as paginas do sistema:
Ao Clicar no link de Produtos olha que legal, teremos um grid com os produtos cadastrados, onde as colunas do Grid são as mesmas colunas da Tabela, e o mais interessante e o filtro que foi gerado automaticamente de acordo com as Chaves da tabela de Produtos, tem também a paginação do Grid e tudo isso sem escrever nenhuma linha de código, temos também links para edição e deleção do produto e isso acontece para todas as tabelas relacionadas no diagrama.
Note fizemos esse projeto em 45 min.
Você pode estar se perguntando e o layout como fica, não gostei desse, esta fora do padrão da minha empresa ou do meu site, não tem problema ele e feito todo em cima de CSS, você poderá customizar tudo, pode também gerar paginas personalizadas editar somente o GRID de Produtos, a ferramenta e bem Flexível. Agora você precisa tomar cuidado para que sua customização não te leve a fazer tudo do zero ai vale mais apena fazer de outra maneira. Esta ferramenta trará maior benefício se tiver pouca customização.
Espero ter ajudado.
Bons Códigos...
|
|
|
Sobre o Autor
|
Fabiano Belmonte Senior Architect da InfoMoney.com.br, especialista em aplicações e-Business com larga experiência em B2B (Submarino.Com e Saraiva.Com). Trabalha há 5 anos com a tecnologia .Net, aplicando conhecimentos nas diversas áreas: instituições financeiras (sistema SPB), e-Commerce, gerenciamento logístico entre outras. Trabalhando com Visual Studio desde suas primeiras versões, responsável pela implementação de uma Metodologia de trabalho e melhoras significativas no resultados e na qualidade do time de Desenvolvimento de muitas empresas por onde passou como (Saraiva.Com) e ferramentas como TFS (Team Foundation Server).
Foi palestrante em eventos como Codificando. NET 2008 e outros eventos sobre Tecnologia .NET.
E-mail: suporte@theclub.com.br
|
|