none
Fazer com que o Confirm em Javascript dispare um metodo em C# RRS feed

  • Pergunta

  • Estou tentando fazer um botão(<asp:Button>) disparar o confirm em javascript . Se clicou em SIM tem que executar o metodo TesteEnviarDocumento.

    Já conseguir fazer a mensagem com o confirm porém não consigo disparar o metodo. Segue o codigo.


     protected void btnEnviar_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
    
                sb.Append("if (confirm('Deseja enviar agora?'))");
                sb.Append("{<%TesteEnviarDocumento(); %>}");
    
                ScriptManager.RegisterStartupScript(this, GetType(), "mensagem", sb.ToString(), true);
                
            }
    
            public void TesteEnviarDocumento()
            {
                //Logica pra enviar
            }


    Via PageMethods eu consegui chamar o metódo porém no meu ViewState me da um erro que não pode ser static o metodo



    quarta-feira, 22 de janeiro de 2014 17:52

Respostas

  • Consegui resolver através desse post How to call a C# code behind method from a Java Script function

    O meu codigo ficou da seguinte maneira:

    ASPX

     <asp:Button ID="btnSalvar" runat="server" Text="Salvar" CssClass="button" OnClick="btnSalvar_Click" Width="100px"/>
                    <asp:Button ID="btnCancelar" runat="server" Text="Cancelar" CssClass="button" Width="100px" />
                    <asp:Button ID="btnEnviar" runat="server" Text="Enviar" CssClass="button" ClientIDMode="Static"
                        OnClick="btnEnviar_Click" Width="100px" />
                    <asp:Button ID="btnEnviarHidden" runat="server" Text="btnEnviarHidden" ClientIDMode="Static"
                        Height="0px" onclick="btnEnviarHidden_Click" Width="0px" />

    CS

    protected void btnEnviar_Click(object sender, EventArgs e)
            {
                StringBuilder script = new StringBuilder();
                script.Append("if (confirm('" + BE_Mensagem.Mensagem25 + "'))");
                script.Append("{");
                script.Append("var button = document.getElementById('" + btnEnviarHidden.ClientID + "');");
                script.Append("button.click();");
                script.Append("}");
    
                ScriptManager.RegisterStartupScript(this, GetType(), "mensagem", script.ToString(), true); 
            }
    
    
    protected void btnEnviarHidden_Click(object sender, EventArgs e)
            {
                DataSet dsProcesso = (DataSet)ViewState["Processo"];
                BE_Tarefa tarefaGestor = (BE_Tarefa)ViewState["Tarefa"];
                DataSet dsworkflowGestor = (DataSet)ViewState["workflow"];
    
    
    //RESTANTE DA LOGICA
            }

    quarta-feira, 22 de janeiro de 2014 18:39