Montando Menu Dinâmico com Banco de Dados


por Mauricio Junior em 1/1/2011 0

Parte 1

    Olá pessoal, gostaria de fazer e mostrar hoje como montar “menu” com os dados vindo diretamente do banco de dados. Muitos aplicativos montam o seu “menu” cadastrado no banco de dados. Cada um com seu perfil e sua permissão. Para isso é necessário ter primeiro uma boa estrutura de banco de dados e campos para montá-lo.

    Em momentos anteriores, escrevi alguns artigos que montam “menu” diretamente de um XML e com o componente diferente, ou seja, que precisa ser referenciado no projeto. Esse artigo será um pouco diferente pois, os dados são de um banco de dados e o componente para montar o menu é o nativo da ferramenta.

Link dos artigos anteriores:
http://www.aspneti.com/CRIANDO+MENU+DINaMICO+COM+C.NET+Passo+1+245,0.aspx

http://www.aspneti.com.br/Criando+menu+dinamico+com+C.NET+(Passo+2)+Com+diferenciacao+de+usuario+4,0.aspx

    Nesta primeira parte, eu vou mostrar o banco de dados montado para que entenda desde o começo o passo a passo. Pegando os dados do menu vindo do banco de dados.

Referência:
Visual Studio .NET 2008
Banco de dados SQL Server
Linguagem C#.NET
Plataforma Web ASP.NET.

    O primeiro passo é criar uma tabela no banco de dados. Dei o nome de dbo.Objeto. Essa tabela terá o menu, links, ordenação e informações necessárias para montar o menu. Referência Imagem 1.1


Referência: Imagem 1.1

    O campo ObjetoId é auto-incremento e o objetoPaiId é um auto relacionamento indicando o menu principal. Por exemplo: se o “menu” for o principal, esse campo ObjetoPaiId será NULL. Para o submenu o objetoPaiId terá um número indicando o ObjetoId. Segue a imagem preenchida para que tenha uma outra boa referência. (Imagem 1.2)


Referência: Imagem 1.2

    Produção
        --> Formaliza Conta

    Note na imagem que na primeira linha o ObjetoPaiId está NULL (o último campo da primeira linha). Note também que a segunda linha e no último campo existe um número referenciado, é o mesmo da primeira linha; ou seja; um auto-relacionamento.

    Coloquei também alguns campos que no momento não vou utilizar, mas pode ser que futuro, coloquei os campos ExibeImagem, e URLImagem. Isso é para caso o seu menu tenha alguma imagem que precise ser mostrada.
   
        No campo endereço, coloquei o nome da página com a extensão. Veja que não coloquei o endereço completo só o nome da página propriamente dito. Todas as minhas páginas estão no diretório raiz, dessa forma coloquei só o nome da página. Se tivesse dentro de uma pasta, colocaria o nome da pasta barra o nome da página. (Isso é só para que entenda como funciona).
  
        O objeto que vou usar para mostrar o “menu” é o do próprio Visual Studio .NET 2008. A versão da ferramenta não importa, pois o <ASP:MENU> é o mesmo das versões anteriores.
   
        E esse objeto funciona em todos os browsers sem qualquer problema. Pelo menos em meus testes, todos abriram.
   
        Além do objeto <ASP:MENU> vou usar CSS e Imagens para ficar bonito o menu montado na tela. No próximo artigo eu vou mostrar o código funcionando. Acredito deixar em 3 partes ou 2 partes, para que não fique grande demais e cansativo para a leitura.

Fico por aqui e qualquer dúvida pode entrar em contato pelo site.


voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Rafael Martins - 17/1/2011 0:00:00
Opa, no aguardo da continuação.

Abração Maurício.
Comentado por: Mauricio Junior - 17/1/2011 0:00:00
Rafael, já foi publicado a parte 2 do artigo. Abraços

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

As várias mensagens do Sistema Operacional
Sistema de Catalogar Livros
Chart - novo componente integrado Visual Studio .NET 2010
Nova forma de utilizar cache utilizando Visual Studio.NET 2005
Sistema de Login em ASP – Parte VI
Criando Email Modelo no Mail - MacBook
Ebook: Desenvolvendo WebServices
Gerando Relatório e Exportando para o Excel
Visual Studio 11 - Novas funcionalidades e melhorias
Vídeo: Imagem Efeito
Nova versão iCredCard aprovado pela Apple
Treinamento VSTS
Novo Firefox 3.0 - o chamado Minefield
Novo TechNet Experience Online
Vídeo - Teste do Windows 7 RC
Trabalhando com GridView, RowCommand e DataKeysNames
Limpando Cache do Brownser
Vídeos para download
Vídeo - Microsoft Surface Sphere
Desenvolvendo software com qualidade
Visual Studio 11 – Novas funcionalidades e melhorias parte 2
Vídeo mostrando como validar vários formulários
Visual SourceSafe - Série 3
101 Exemplos de Linq
Dica de Segurança no Arquivo de Configuração - Web / App .config
II Encontro .NET em Brasília
Seria o novo Windows Mobile 7 ?
Visual Studio 11 – Novas funcionalidades e melhorias parte 3
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Windows Phone 7, nada como aprender vendo
Ordenando no DataTable
Deixando o rodapé fixo
Registro Encontro .NET (Fotos)
Gravando erros com eventlog - Parte I
Generics na prática