Início > Asp.net > SiteMap com UrlRewriting no Asp.NET

SiteMap com UrlRewriting no Asp.NET

Hoje no fórum do MSDN encontrei um post de um nos companheiros perguntando sobre como configurar um SiteMap em páginas que estão utilizando o URLRewriting, vou descrever uma das formas que você pode utilizar em sua solução.
 
Primeiramente, para quem não conhece o URLRewriting nada mais é que reescrever as url de forma mais amigavel (em resumo) ocultado ou alterando alguns detalhes, para saber mais sobre URLRewriting no asp.net consulte -> http://msdn.microsoft.com/en-us/library/ms972974.aspx.
 
A duvida era :
 

Olá, usei o UrlRewritingNet para converter as Urls de uma aplicação web, agora ao invés de www.site.com/pagina/pagina.aspx?Id=7&SubApp=8 endreço fica: www.site.com/pagina7/detalhe8.aspx

O problema é que é no sitemap, imaginei algo como por exemplo: <siteMapNode url="pagina*/detalhe*.aspx" title="Paginas"  description=""> mas não funciona. Como devo fazer ?

 
A solução que utilizo é customizar o SiteMapPath acrescentando um <nodetemplate> e um <asp:Hyperlink> no modelo, preenchendo suas propriedades de URL e Texto dinamicamente. Veja no exemplo abaixo, repare que estou usando o Eval(), dentro deste você pode fazer chamadas a métodos internos e pegar os valores como desejar (usando reflection, constantes, etc).
 
Exemplo:
 

<Asp:SiteMapPath ID = "CustomSiteMapPath" runat = "server">
<NodeTemplate>
<Asp: HyperLink ID="hypLink" runat="server" Text ='<%# Eval("titulo")%>’ NavigateUrl ='<%# Eval("url")%>’/>
</NodeTemplate>
<CurrentNodeTemplate>
<Asp:Literal ID ="litCurrentNode" runat ="server" Text =’ <%# Eval("titulo")%>’/>
</CurrentNodeTemplate>
</Asp: SiteMapPath>

 
Espero que isso seja util;…
 
 
Abraço,
 
Categorias:Asp.net
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: