none
Exibir UpdateProgress durante o PostBack RRS feed

  • Pergunta

  • Ola!

    Eu tenho uma pagina ASP.NET funcionando com um UpdateProgress associado a um UpdatePanel.

    O problema é que, durante o PostBack da página, o Updateprogress não aparece.

    A página se comporta da seguinte forma:
    1. Clico em um botão que é responsável pela abertura de um Popup via Javascript "window.open('popupPadrao.aspx','','height=246, width=502, top='+meio1+', left='+meio2+'');".

    2. No popup, há um botão de confirmação que executa um postback na pagina "__DoPostBack('popup','Aprovar')"

    3. Retorna para o evento PageLoad da pagina, verifica o EVENTARGUMENT e se verdadeiro, executa uma função que demora cerca de 2 minutos.

    No passo 1, o Updateprogress aparece sem problema nenhum.
    No Passo 3, o UpdateProgress não aparece.

    Abaixo segue o código do PageLoad da pagina.
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Not IsPostBack Then
    
    
            Else
                if Request("__EVENTARGUMNT") = "Aprovar" Then
    AprovaFormulario() End If
    End If Catch ex As Exception End Try End Sub
    Eu preciso que o UpdateProgress apareça durante este tempo, e não posso deixar de solicitar a confirmação da aprovação via popup, e a função de aprovação deve estar dentro do código da página,

    Alguem teria alguma solução?
    Aceito qualquer opinião desde que dentro do requisito grifado acima.

    Obrigado!!!

    Rafael Beck
    Rafael Beck
    segunda-feira, 13 de julho de 2009 15:17

Respostas

  • Oi cara,

    O problema e' que o updateprogress nao aparece no pageload. Veja se os links abaixo ajudam.

    http://mattberseth.com/blog/2007/07/delay_load_an_updatepanel.html

    http://encosia.com/2007/10/03/easy-incremental-status-updates-for-long-requests/

    http://disturbedbuddha.wordpress.com/

     

    Se a resposta foi util, favor marcar como tal.

    Obrigado.



    MCP, MCTS 2.0 Web Applications, MCTS 3.5 ASP.NET
    Olá Eduardo!

    Os links ajudam sim, para quem precisar é uma boa alternativa, principalmnte do do site encosia.com.

    Eu não utilizei pois acabei tendo problemas para usar Response.Write() e Response.Flush().

    No fim eu acabei optando por outra opção, no botão do Popup coloquei um código Javascript para chamar uma função da pagina anterior:
    window.opener.retornoPopup();
    E na função retornoPopup() fiz uma chamada ao evento click de um botão oculto na pagina.
    function retornoPopup()
        {
            document.getElementById('ctl00_mainContent_btnRetornoPopup').click();
        }
    

    Ja adiantando, se alguem for utilizar esta opção, para ocultar o botão é necessário fazer através do código:
    style="visibility: hidden;"
    Caso contrario o evento click() não vai funcionar.

    Rafael Beck
    • Marcado como Resposta RafaBeck quarta-feira, 15 de julho de 2009 17:30
    quarta-feira, 15 de julho de 2009 17:29

Todas as Respostas