none
Desabilitar o Timer ao exibir o ModalPopUpExtender RRS feed

  • Pergunta

  • Tenho uma página no meu sistema que usa o controle Timer. A pedido do cliente fiz uma implementação que ao clicar em um botão é exibido o ModalPopUpExtender para o usuário poder selecionar em um campo tipo CheckBoxList alguns itens.

    O problema que está ocorrendo é que ao executar o Timer1_Tick o ModalPopUpExtender fecha e eu já tentei de todas as formas saber qual o evento que mostra quando o ModalPopUpExtender está ativo (ViewStateMode; OnShown; OnShowing; ClientState; etc).

    Eu preciso desabilitar o controle Timer toda vez em que o ModalPopUpExtender estiver visível na página e voltar a habilitar o controle Timer toda vez em que o ModalPopUpExtender for fechado.

    Alguém poderia ajudar, ou alguém já passou por esse tipo de problema?

    domingo, 3 de maio de 2015 16:20

Respostas

  • Prezado Eduardo, boa tarde.

    Eu consegui resolver o problema de uma maneira simples, uma vez que nem via javascript estava conseguindo o resultado necessário.

    A título de informação a quem interessar, eu criei botões "fantasma" na minha página com a propriedade Style="display: none", para que não fiquem visíveis e associei esses botões nas propriedades TargetControlID e CancelControlID do ModalPopupExtender.

    Feito isso, através dos botões reais na página eu posso fazer o controle que quiser pelo próprio evento Click do botão, exemplo:

    Para exibir o ModalPopupExtender no evento Click do respectivo botão eu executo dois comandos: lkbDetalhes_ModalPopupExtender.Show() (para exibir o Modal) e Timer1.Enabled = False (para parar o Timer da página).

    E para ocultar o ModalPopupExtender no evento Click do respectivo botão eu executo esses mesmos comandos de forma reversa: lkbDetalhes_ModalPopupExtender.Hide() (para esconder o Modal) e Timer1.Enabled = True (para voltar a funcionar o Timer).

    Talvez não seja a melhor solução, mas no meu caso resolveu em 100% e caso alguém tenha o mesmo problema que eu tive espero poder ajudar com essa explicação.



    segunda-feira, 4 de maio de 2015 18:36

Todas as Respostas

  • Bom dia Alexandre,

    Poderia nos postar uma parte do seu código para analisarmos com mais precisão onde está o problema?

    Obrigado,

    Abraço!


    Eduardo Romero

    Esse conteudo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais facil para os outros visitantes encontrarem a resolucao mais tarde.

    segunda-feira, 4 de maio de 2015 14:35
    Moderador
  • Prezado Eduardo, boa tarde.

    Eu consegui resolver o problema de uma maneira simples, uma vez que nem via javascript estava conseguindo o resultado necessário.

    A título de informação a quem interessar, eu criei botões "fantasma" na minha página com a propriedade Style="display: none", para que não fiquem visíveis e associei esses botões nas propriedades TargetControlID e CancelControlID do ModalPopupExtender.

    Feito isso, através dos botões reais na página eu posso fazer o controle que quiser pelo próprio evento Click do botão, exemplo:

    Para exibir o ModalPopupExtender no evento Click do respectivo botão eu executo dois comandos: lkbDetalhes_ModalPopupExtender.Show() (para exibir o Modal) e Timer1.Enabled = False (para parar o Timer da página).

    E para ocultar o ModalPopupExtender no evento Click do respectivo botão eu executo esses mesmos comandos de forma reversa: lkbDetalhes_ModalPopupExtender.Hide() (para esconder o Modal) e Timer1.Enabled = True (para voltar a funcionar o Timer).

    Talvez não seja a melhor solução, mas no meu caso resolveu em 100% e caso alguém tenha o mesmo problema que eu tive espero poder ajudar com essa explicação.



    segunda-feira, 4 de maio de 2015 18:36
  • Alexandre,

    Muito Obrigado pelo retorno com a solução, com certeza será de grande ajuda para quem passar pela mesma situação. Que bom que conseguiu resolver o seu problema!

    Qualquer nova dúvida, estamos a disposição.

    Obrigado,

    Abraço!


    Eduardo Romero

    Esse conteudo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais facil para os outros visitantes encontrarem a resolucao mais tarde.

    segunda-feira, 4 de maio de 2015 18:39
    Moderador