Usuário com melhor resposta
treeview carregando com dados da cache (sitemap)

Pergunta
-
Bom dia.
Estou com problemas no carregamento de uma treeview com sitemap.
Possuo 3 paginas sendo cada uma com um menu diferente linkadas a seus respectivos sitemaps.
Todos funcionam bem, porem 2 deles é necessário dar ctrl + f5 para carregar o menu atualizado de acordo com o atual perfil.
Por exemplo, se entro como administrador ele carrega o menu com todos os nós.
Depois faço logoff e entro como usuário ele carrega o menu igual ao do administrador, dai do ctrl f5 e ai sim carrega o menu com as permissões do usuario. deve ser algum problema com cache.
Coloquei um botão na pagina com esse código:
SiteMapDataSource1.SiteMapProvider = "AspXmlSiteMapProvider1"; TreeView1.DataBind();
clicando nele resolve o problema.
Então coloquei esse código no page_load para forçar o bind da treeview mas não funciona.
Alguém tem alguma ideia?
Respostas
-
Code
public static void DisablePageCaching() { //Used for disabling page caching HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); HttpContext.Current.Response.Cache.SetValidUntilExpires(false); HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.Cache.SetNoStore(); }
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC
- Marcado como Resposta rodrigob.bor segunda-feira, 16 de setembro de 2013 20:13
Todas as Respostas
-
-
Bom dia,
Eu acho que com o Tree.View.TreeNodeCkeckChanged Event é possivel resolver isso. Abaixo tem um link que informa sobre esse procedimento:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treeview.treenodecheckchanged.aspx
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde. -
-
Code
public static void DisablePageCaching() { //Used for disabling page caching HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); HttpContext.Current.Response.Cache.SetValidUntilExpires(false); HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.Cache.SetNoStore(); }
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC
- Marcado como Resposta rodrigob.bor segunda-feira, 16 de setembro de 2013 20:13
-