none
Popup Modal com Retorno

    Pergunta

  • Saudações!

    Tenho uma page de pedidos onde para escolher o cliente, o usuário pressiona um botão, então o processamento da tela de pedidos para e fica esperando por um retorno do popup de localizar clientes, se selecionar um cliente, o popup retorna true, caso não selecione um cliente fechando simplesmente a tela por exemplo o popup retorna false. Com o retorno true o Code Behind é executado, o contrario não.
    Utilizei para isto uma função javascript com os comandos window.showModalDialog e window.returnValue como mostrado abaixo, o problema é que isto só funciona bem no IE, nos browsers dos tablet's por exemplo o popup nem abre. Preciso de uma solução de popup com retorno que sejá genérica, não dependente do IE.

    Agradeço a quem puder dar uma dica, indicar um artigo ou postar uma solução.

    Botão que chama o modal:
    <asp:Button   ID="btnClientes" runat="server" Text="..." OnClientClick="return  Abrir_PopUp();" OnClick="btnClientes_Click" CausesValidation="False"/>

    Obs: O evento  OnClick="btnClientes_Click", só roda se o evento OnClientClick="return  Abrir_PopUp();" retornar True.

    Função JavaScript:
    function Abrir_PopUp()
    {
       return window.showModalDialog('Clientes.aspx?modo=consulta','Clientes','scrollbars:0;DialogWidth:935px;DialogHeight:525px');
    }

    Retorno do popup:
    protected void btnSair_Click(object sender, EventArgs e)
    {
       ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "close", "window.returnValue=true";window.close();", true);
    }

    quarta-feira, 12 de setembro de 2012 14:02

Todas as Respostas