DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Revista MSDN Magazine Edição 09 - User Controls compartilhados via GAC

Artigo Originalmente Publicado na MSDN Magazine Edição 09

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

msdn09_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

User Controls compartilhados via GAC
por Marcos Santos e Alexandre Santos

 

User Control é uma página ASP.NET logicamente convertida como um controle, ou seja, um componente. Uma das principais características dos user controls, é a capacidade de permitir a reutilização do mesmo conteúdo e da mesma lógica de programação em várias páginas de um mesmo projeto, além de poder ser manipulado como um objeto. Contudo, surgiu a necessidade de se reutilizar estes user controls em mais de uma aplicação ASP.NET, sendo o caminho mais conhecido, o de copiá-los para dentro da nova aplicação em questão. No entanto isso pode trazer problemas na hora da manutenção, ao precisarmos atualizar todas as réplicas existentes. Novas soluções foram aparecendo no intuito de fazer com que diferentes aplicações “enxergassem” a mesma cópia do user control, entretanto sempre sem a possibilidade da utilização do CodeBehind, fazendo com que o desenvolvedor perdesse as vantagens fornecidas por este conceito.

O objetivo deste artigo é mostrar a criação de um user control utilizando CodeBehind que possa ser compartilhado entre aplicações Web e permitir que o projeto consumidor descreva o comportamento dos eventos do user control. Para isto, será feita uma ligeira explanação sobre o GAC (Global Assembly Cache), que permite este compartilhamento.

Para aumentar a compreensão, simulemos que existam duas aplicações Web distintas que manipulam o mesmo banco de dados Northwind do SQL Server. A primeira seria uma aplicação de Relatórios (Report) e a outra de gerenciamento dos dados (Manager). Imagine que em ambas as aplicações exista a necessidade de um DataGrid com a listagem das Categorias, por exemplo, para a aplicação Report com uma opção de filtro de um relatório específico e na aplicação Manager um cadastro de Categorias. Seria interessante se criarmos apenas um único UserControl que faça o acesso ao banco de dados,  popule o DataGrid e ainda permita que a aplicação consumidora descreva o comportamento da ação ao clicar no botão que seleciona a categoria desejada pelo internauta.

Projeto

Crie um projeto ASP.NET Web Application chamado UserControlCompartilhado usando como linguagem o Visual C#. O Visual Studio .NET criou 4 arquivos, mas como este projeto conterá apenas o user control, algo semelhante a um componente, três destes arquivos devem ser apagados (Global.asax, Web.config e WebForm1.aspx) para que o mesmo não seja interpretado pelo serviço de Internet (IIS) como uma aplicação Web. Portanto, apenas o arquivo AssemblyInfo.cs permanecerá.

Insira um Web User Contol chamado ucGridCategorias.ascx. Note que a extensão do arquivo é .ascx, denotando ser um controle (componente) e que “roda” apenas quando adicionado num WebForm.aspx.

Através do menu Table / Insert / Table desenhe uma tabela com duas linhas, uma coluna e largura de 400 pixels. Para a primeira linha arraste um componente Label da ToolBox Web Forms, que será utilizado como informação ao internauta, com propriedades id = lbInformacao e Text em branco; Na segunda linha da tabela, arraste um componente DataGrid, com propriedades id = gridCategorias e AutoGenerateColumns = False.

Dica: Clique com o botão direito e selecione Auto Format para formatá-lo de acordo com a sua necessidade.

Como as colunas do DataGrid não serão montadas automaticamente é preciso informar quais colunas irão preenchê-lo. Para isso, pressione o botão direito no gridCategorias e selecione Property Builder. Na guia de Columns, localize a lista de Available Columns e selecione as seguintes colunas com as devidas propriedades:

 

"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Marcos Santos
Marcos Santos (mossantos@hotmail.com) e Alexandre Santos (alexandrecpd@hotmail.com) são graduados em Ciências da Computação na UFSC, trabalham como Analistas de Sistemas na Softway Contact Center e com a plataforma .NET desde a versão Beta.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03