none
treeview carregando com dados da cache (sitemap) RRS feed

  • 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?

    quinta-feira, 12 de setembro de 2013 13:23

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
    sexta-feira, 13 de setembro de 2013 17:26
    Moderador

Todas as Respostas

  • se houver como dar um binding na treeview toda vez que a pagina e carregada já resolve a questão, problema é como fazer isso.
    quinta-feira, 12 de setembro de 2013 14:17
  • 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.

    sexta-feira, 13 de setembro de 2013 12:44
  • Esse cache deve ser do seu navegador, vc pode fazer e limpar ele.

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    sexta-feira, 13 de setembro de 2013 17:25
    Moderador
  • 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
    sexta-feira, 13 de setembro de 2013 17:26
    Moderador
  • Boa tarde.

    Giovani, como estou usando o treeview para um menu não te como implementar o checkbox...

    Seilor, usei esse código e funcionou bem, a principio solução resolve o problema...

    Obrigado a todos!

    segunda-feira, 16 de setembro de 2013 20:13