Usuário com melhor resposta
Ler QueryString não existente no SiteMap

Pergunta
-
Olá,
Jah procurei e procurei e não encontrei algo que responde minha duvida, sendo a seguinte:
Tenho este SiteMap como exemplo:
<siteMapNode url="Default.aspx" title="Portal" description=""> <siteMapNode url="Canal.aspx?canal=Desenvolvimento" title="Desenvolvimento" description=""> <siteMapNode url="Categoria.aspx?categoria=Web" title="Web" description=""> <siteMapNode url="SubCategoria.aspx?subcategoria=ASP.NET" title="ASP.NET" description=""> <siteMapNode url="Postagem.aspx?subcategoria=ASP.NET" title="Postagem" description=""> </siteMapNode> </siteMapNode> </siteMapNode> </siteMapNode> </siteMapNode>
isso me mostraria o seguinte resultado: Portal > Desenvolvimento > Web > ASP.NET > Postagem
Acontece que, na pagina:
Postagem.aspx?subcategoria=ASP.NET
eu precisava adcionar uma segunda QueryString que se tornaria algo assim:
Postagem.aspx?subcategoria=ASP.NET&postID=123456789
Ou seja, se eu adicionar esse QueryString o SiteMap não vai ler e minha pagina com a postagem ficara sem localização!
Jah tentei algumas coisas, mas nada com resultados!
Então, como faço para ler uma QueryString não existente no XML SiteMap?
Meus Agradecimentos,
William- Editado wmnk quarta-feira, 20 de janeiro de 2010 20:57
Respostas
-
Bom dia William.
Realmente não é possível pois cada Item (ID=XXX) corresponde a uma nova URL e esta não foi prevista no siteMap. Uma alternativa é criar dinamicamente seu SiteMap ( http://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.sitemappath.sitemappath.aspx)
Ou ainda considerar a possibilidade de usar URL ReWriting.
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
http://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing
“Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
Atenciosamente,
Harley Araujo- Sugerido como Resposta Harley Araujo sexta-feira, 22 de janeiro de 2010 11:10
- Marcado como Resposta wmnk sexta-feira, 22 de janeiro de 2010 16:10
Todas as Respostas
-
Olá William,
Se você estiver passando id previamente obtido em um SELECT, por exemplo, pode fazer assim:
url='Postagem.aspx?categoria=ASP.NET&id=<%# Eval("id")%>'
De qualquer forma, se o id estiver vindo de outro lugar, basta abrir <%# comando %> que você conseguirá passar.
Abraços.
-
Olá William,
Valew, Mas Não deu certo!
Se você estiver passando id previamente obtido em um SELECT, por exemplo, pode fazer assim:
url='Postagem.aspx?categoria=ASP.NET&id=<%# Eval("id")%>'
De qualquer forma, se o id estiver vindo de outro lugar, basta abrir <%# comando %> que você conseguirá passar.
Abraços.
o postID na pagina Postagem.aspx é um parametro que eu uso para fazer um consulta (Select) na propria pagina, ja gerada!
e a querystring Subcategoria=ASP.NET para identificar a localização e passar para o SiteMap
Então, se eu coloco o &id=<%# ... %> no SiteMap, o XML me informa um erro.
como o XML não aceita o caractere & e seu eu substituir por & dáh na mesma... kkk e as tags <%... ele também não aceita ¬¬
daew por exemplo: se o usuario entra na Pagina: Postagem.aspx?categoria=ASP.NET&postID=123456789
o SiteMap ja ira ser ignorado, e apenas ira aparecer Portal > sendo que era para Portal > Desenvolvimento > Web > ASP.NET > Postagem -
Bom dia William.
Realmente não é possível pois cada Item (ID=XXX) corresponde a uma nova URL e esta não foi prevista no siteMap. Uma alternativa é criar dinamicamente seu SiteMap ( http://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.sitemappath.sitemappath.aspx)
Ou ainda considerar a possibilidade de usar URL ReWriting.
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
http://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing
“Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
Atenciosamente,
Harley Araujo- Sugerido como Resposta Harley Araujo sexta-feira, 22 de janeiro de 2010 11:10
- Marcado como Resposta wmnk sexta-feira, 22 de janeiro de 2010 16:10