none
Chamar Evento de uma masterpage de fora dela RRS feed

  • Pergunta

  • Pessoal, estou com um probleminha, tenho um botao salvar dentro do update panel, esse salvar esta alimentando um treeview q esta na minha masterpage, o problema é eu nao estou conceguindo dar um post no treeview.

    Alguem pode me ajudar?

    Obrigado     

    Rogerio
    quarta-feira, 23 de setembro de 2009 14:53

Respostas

  • Rogerio, cuidado com o POG.. hehehe

    Vamos lá.

    Suponho que sua TreeView na Master esteja dentro de um UpdatePanel, correto?

    Então, seguindo a lógica, você pode fazer o seguinte:

    Em sua MasterPage (aqui denominarei de MinhaMasterPage), você adiciona um método público que vai fazer o refresh do update panel. Lembrando que o UpdateMode deve ser Conditional.

    Ex:

    public class MinhaMasterPage ...
    {
        public void AtualizarTreeView()
        {
            this.NomeUpdatePanel.Update();
        }
    }

    Na sua página que herda da master, onde tem o botão clicar, poderia ficar assim:

    public class NomePagina ...
    {
        protected void button1_Click(...)
        {
            ...

            If(this.Page.MasterPage is MinhaMasterPage)
            {
                ((MinhaMasterPage)this.Page.MasterPage).AtualizarTreeView();
            }
        }
    }

    Seguindo essa sequencia, em teoria, você conseguirá atualizar o UpdatePanel em sua masterpage de qualquer página que a herde. É interessante criar um método pra isso (conforme demonstrado) ao invés de tentar acessar o próprio controle.

    Mamão com açúcar! Se resolveu, classifique a mensagem, por favor!
    • Marcado como Resposta Rogerio - BI segunda-feira, 28 de setembro de 2009 14:46
    sexta-feira, 25 de setembro de 2009 20:24

Todas as Respostas

  • Boa Noite,Rogério
    Você tem como mandar o código para ser análisado?
    Américo Arvani Formado em Sistemas de Informação , cursando MBA Gestão Estratégica da T.I. // MCP/MCTS - WEB mail: americo.email@gmail.com
    quarta-feira, 23 de setembro de 2009 21:49
  • Cara acho q mandar o codigo não ajudaria pois o problema ta em como q consigo dar um refresh no treeview q esta fora do meu update...após um click no botão dentro do update...
    Rogerio
    quinta-feira, 24 de setembro de 2009 13:07
  • Opção  1:

    Criar dois update na pagina independentes.

    Conforme tutorial abaixo.
    http://msdn.microsoft.com/en-us/library/cc295469.aspx

    Opção 2:
    Ou você pode fazer um refresh via javascript
    Exemplo abaixo
    http://www40.brinkster.com/rajbk/UpdatePanelUpdateViaScript.zip

    Américo Arvani Formado em Sistemas de Informação , cursando MBA Gestão Estratégica da T.I. // MCP/MCTS - WEB
    quinta-feira, 24 de setembro de 2009 14:25
  • Rogerio, cuidado com o POG.. hehehe

    Vamos lá.

    Suponho que sua TreeView na Master esteja dentro de um UpdatePanel, correto?

    Então, seguindo a lógica, você pode fazer o seguinte:

    Em sua MasterPage (aqui denominarei de MinhaMasterPage), você adiciona um método público que vai fazer o refresh do update panel. Lembrando que o UpdateMode deve ser Conditional.

    Ex:

    public class MinhaMasterPage ...
    {
        public void AtualizarTreeView()
        {
            this.NomeUpdatePanel.Update();
        }
    }

    Na sua página que herda da master, onde tem o botão clicar, poderia ficar assim:

    public class NomePagina ...
    {
        protected void button1_Click(...)
        {
            ...

            If(this.Page.MasterPage is MinhaMasterPage)
            {
                ((MinhaMasterPage)this.Page.MasterPage).AtualizarTreeView();
            }
        }
    }

    Seguindo essa sequencia, em teoria, você conseguirá atualizar o UpdatePanel em sua masterpage de qualquer página que a herde. É interessante criar um método pra isso (conforme demonstrado) ao invés de tentar acessar o próprio controle.

    Mamão com açúcar! Se resolveu, classifique a mensagem, por favor!
    • Marcado como Resposta Rogerio - BI segunda-feira, 28 de setembro de 2009 14:46
    sexta-feira, 25 de setembro de 2009 20:24