Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«

Airbag de micro
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!
 





Por Dennes Torres
dennes@bufaloinfo.com.br
Dennes Torres possui as certificações MCAD, MCSD,MCSE, MCDBA e MCT. Atualmente atua Como diretor da Búfalo Informática, líder do grupo de usuários DevASPNet no Rio de Janeiro e membro da liderança dos grupos getWindows e devSQL, também do Rio de Janeiro, podendo sempre ser encontrado na lista de discussão do grupo DevASPNet (devaspnet-subscribe@yahoogrupos.com.br) bem como nas reuniões do grupo. Mantém dois blogs em http://cidadaocarioca.blogspot.com

Mapa de site e navegação no ASP.NET

Pesquisa personalizada
Pesquisar Dicas:






O ASP.NET 2.0 traz um novo e interessante recurso : A criação de mapas de sites.

A criação de mapas de sites é extremamente simples no ASP.NET. Podemos simplesmente adicionar um arquivo com a extensão "sitemap" na raiz da aplicação. Utilizando o Visual Studio, o arquivo é adicionado por default com o nome "Web.sitemap".

Trata-se de um arquivo XML que deve conter o desenho de um mapa de site, seguindo um schema criado especificamente para esta finalidade (http://schemas.microsoft.com/AspNet/SiteMap-File-1.0)

O XML é uma linguagem para criar linguagens. Sempre que escrevemos algo em XML estamos na verdade criando uma nova linguagem ou usando alguma linguagem derivada do XML.

Uma linguagem derivada do XML é chamada de um SCHEMA. Para que tenha nome único, esta linguagem recebe um endereço HTTP como nome. Este não é um endereço válido e em momento algum o software tentará acessá-lo. É apenas uma forma de identificar, sem duplicações ou equivocos, o nome de uma nova linguagem.

A linguagem de criação de mapas de sites define tags específicas com essa finalidade

 

Veja como fica o arquivo com um mapa de site :

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Home" description="Página principal" url="home.aspx">
<siteMapNode title="A Empresa" description="Informações sobre a empresa" url="empresa.aspx">
<siteMapNode title="Filiais" description="Informações sobre filiais" url="filiais.aspx" />
</siteMapNode>
<siteMapNode title="Produtos" description="Informações sobre produtos" url="produtos.aspx">
<siteMapNode title="Eletrodomésticos" description="Eletrodomésticos" url="eletro.aspx" />
<siteMapNode title="Móveis" description="Móveis" url="moveis.aspx" />
</siteMapNode>
</siteMapNode>
</siteMap>

 

Como pode obsevar, os elementos chamados siteMapNode se aninham formando uma estrutura hierárquica (especialidade do XML) que demonstrará o mapa do site. Cada elemento possui atributos com as informações sobre a página que está descrevendo.

Não gosto da idéia de ter que escrever todo o mapa do site. Não existe no VS 2005 nenhum tipo de wizard para a montagem deste mapa, talvez venha a ser incluido na versão final do VS 2005, ainda não sabemos. O fato é que me adiantei um pouco e criei uma aplicação, utilizando o próprio VS 2005, para gerar o XML deste mapa do site. Veja detalhes em http://www.bufaloinfo.com.br/artigos/artigo24082005.asp

Feito o mapa do site, vamos então criar as páginas. Aproveitamos também mais um recurso do ASP.NET : As master pages. Podemos criar uma página de modelo e fazer com que todas as demais páginas do site sigam esse modelo.

SiteMapDataSource

Para expor o mapa do site devemos criar um siteMapDataSource. O siteMapDataSource é uma origem de dados - Data Source - que lê o mapa do site contido na raiz e o fornece para os webControls que desejarem na forma de uma origem de dados, podendo até mesmo gerar dataviews caso você precise manipular os dados do site pelo código, diretamente.

Não existe muito a ser configurado no siteMapDataSource. De fato, este objeto é capaz de funcionar sem configuração alguma e expõem apenas algumas propriedades para que você possa personalizar a forma como o mapa do site será exibido nos objetos de navegação

Objetos de navegação

Temos na toolbox 3 webControls que podem ser utilizados como objetos de navegação no site e cujo local ideal para serem inseridos é na master page, justamente para que sejam exibidos em todas as páginas : TreeView, SiteMapPath e Menu

Tanto o treeview como o menu podem ser usados para inúmeras outras finalidades, sendo o seu uso como objetos de navegação apenas uma delas.

O funcionamento é extremamente simples : Basta usar a smartTag para fazer a ligação do objeto com o sitemapDataSource. Pronto, teremos já mesmo em design time o TreeView e menu desenhados com o mapa do site.

Já o siteMapPath é um objeto utilizado especialmente para esta finalidade, lidar com o mapa do site, exibindo a página em que estamos atualmente e suas páginas anteriores até a página principal do site. Um site que utiliza muito esse recurso é o site da Microsoft Corp (http://www.microsoft.com)

Os 3 objetos de navegação na Master Page, em design

A treeview e o siteMapPath, em run-time. Um pouco acima o menu, que se abre ao passarmos o mouse. Com certeza você fará um design melhor que esse

 

 

Conclusão

Criar um mapa de site virou uma tarefa extremamente simples. Mais uma antiga tarefa do ambiente web que foi muito simplificada e garantirá o surgimento de sites com qualidade cada vez maior.



Envie seus comentários sobre este artigo

Nome :

E-mail :

Comentários :


Avise-me quando houverem novos comentários nesta página

Veja abaixo os comentários já enviados :

Nome : Luciane E-Mail : lucianesmendes@hotmail.com
Li o tutorial mas não entendi muito bem pois não tenho experiência em programação como poderia aplicar essa solução utilizando o dreamweaver 8?

Atenciosamente

Luciane
Nome : Clayr Madeira E-Mail : cclayrr@hotmail.com
Tem como gerar o menu horizontal com diversos item no mesmo nivel de hierarquia do item home?
Exemplo:

MENU 1 >> Subitem 1 >> Subitem2
MENU 2 >> Subitem 1 >> Subitem2
MENU 3 >> Subitem 1 >> Subitem2
MENU 4 >> Subitem 1 >> Subitem2

Não estou conseguindo fazer isso porque o arquivo sitemap só deixa ter um node pai na hierarquia, e consequentemente esse item é o item pai.

Obrigado.
Nome : André Rodrigues E-Mail : andre@seolink.com.br
Olá. Como vai?

Por favor, gostaria de saber se você possui interesse em divulgar seus negócios na primeira página do Google e de outros buscadores em pesquisas por seus produtos e serviços?

Obrigado.

André Rodrigues
www.seolink.com.br
(11) 2038-0801



Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1