Fala, galera!!
Segue um código para montagem de menus dinâmicos utilizando o controle de menu do .Net.
O código é bem simples. Todo o menu é baseado em XML.
Basta entender a estrutura do mesmo.
Vamos ao código:
<?xml version="1.0" encoding="utf-8" ?>
<Home>
<Menu url="" text="Secao1">
<SubMenu url="" text="Secao1.1">
<SubMenu url="" text="Secao1.1.1">
<SubMenu url="" text="Secao1.1.1.1">
<SubMenu url="conteudo.aspx?CodSecao=31" text="Secao1.1.1.1.1">
</SubMenu>
</SubMenu>
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=23" text="Secao1.1.3">
</SubMenu>
</SubMenu>
<SubMenu url="" text="Secao1.2">
<SubMenu url="conteudo.aspx?CodSecao=24" text="Secao1.2.1">
</SubMenu>
</SubMenu>
<SubMenu url="" text="Secao1.3">
<SubMenu url="" text="Secao1.3.1">
<SubMenu url="conteudo.aspx?CodSecao=33" text="teste">
</SubMenu>
</SubMenu>
</SubMenu>
</Menu>
<Menu url="" text="Secao2">
<SubMenu url="" text="Secao2.1">
<SubMenu url="conteudo.aspx?CodSecao=27" text="Secao2.1.1">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=28" text="Secao2.1.2">
</SubMenu>
</SubMenu>
<SubMenu url="" text="Secao2.2">
<SubMenu url="conteudo.aspx?CodSecao=29" text="Secao2.2.1">
</SubMenu>
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=11" text="Secao2.3">
</SubMenu>
</Menu>
<Menu url="" text="Secao3">
<SubMenu url="conteudo.aspx?CodSecao=12" text="Secao3.1">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=13" text="Secao3.2">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=14" text="Secao3.3">
</SubMenu>
</Menu>
<Menu url="" text="Secao4">
<SubMenu url="conteudo.aspx?CodSecao=15" text="Secao4.1">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=16" text="Secao4.2">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=17" text="Secao4.3">
</SubMenu>
</Menu>
<Menu url="" text="Secao5">
<SubMenu url="conteudo.aspx?CodSecao=18" text="Secao5.1">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=19" text="Secao5.2">
</SubMenu>
<SubMenu url="conteudo.aspx?CodSecao=20" text="Secao5.3">
</SubMenu>
</Menu>
</Home>
O menu acima representa uma tabela que possui auto relacionamento.
Agora vamos falar um pouco sobre a estrutura do XML.
Como todo arquivo XML, foi necessário criarmos um elemento Root(raiz).
No nosso caso, este elemento é o elemento <home>.
Agora vamos aos itens que se repetem dentro da estrutura.
O elemento <Menu> representa o nível mais alto do menu. O nível "pai", digamos assim.
O elemento <SubMenu> é o que chamamos de "filho".
Um <Menu> pode possuir quantos <SubMenu> desejar.
Um <SubMenu> pode possuir novos <SubMenu> dentro dele. Permitindo que você crie N níveis de acordo com a hierarquia do seu site.
A propriedade text define o texto que será exibido.
A proprieadade url define o link para onde o seu menu irá apontar.
Se a propriedade url estiver em branco, o menu será renderizado sem ser "clicável".
Agora basta criar seu método para gerar o arquivo XML.
Para isso, você pode utilizar o LINQ to XML, a classe System.XML ou até mesmo gerar uma string em formato XML e salvar em um arquivo com a extensão ".xml".
Um abraço e até a próxima!!
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário