none
Adicionar confirm ao excluir de uma grid RRS feed

  • Pergunta

  • Olá pessoal,

     

    estou com um probeminha chato, seguinte:

     

    tenho uma grid com opções de edit e delete, até aí tudo bem, o problema

    é que o usuário me pediu para colocar uma confirmação do tipo:

    "Deseja mesmo excluir este usuário?"

    O qeu fiz ?

     

    Coloquei um Reponse.write no meu evento Deleting, pensei que o cancel

    do confirm invalidaria o resto do processamento da página.

     

    Como faço para esse confirm interromper me processamento?

     

    ps.: botei um brackPoint e reparei que o compilador passa pelo confirm,

    faz o resto do processamento e só quando inicia o load da página exibe

    o confirm.

     

    quarta-feira, 16 de julho de 2008 17:50

Todas as Respostas

  • Sergio, creio que voce tenha que fazer o tratamento do evento como qualquer outro.

     

    Se o usuario cancelar nao faz nada, se der ok faz o processamento de exclusao.

     

    if (reposta == true)

    {

    processa...

    }

     

     

    Abraços

     

    Estevam

     

    quarta-feira, 16 de julho de 2008 18:42
  • Tem uma forma muito mais fácil de fazer isto, que envolve somente o source do gridView e uma linha de javascript.

    Para isto, transforme o botao de excluir  que está no grid em um template, no exemplo abaixo eu uso um imageButton, mas poderia ser o Button, LinkButton etc.


    <ItemTemplate>
    <asp:ImageButton id="ImageButton1" runat="server" ImageUrl="~/imagens/deleted.gif" CausesValidation="False"   OnClientClick="BLOCKED SCRIPTreturn ConfirmaExclusao();" CommandName="Delete"></asp:ImageButton>
    </ItemTemplate>
    </asp:TemplateField>

    Repare que existe uma propriedade chamada OnClientClick, onde posso chamar uma função em javascript, o interessante desta propriedade é que ela vai disparar a função especificado antes do evento de exclusao no grid seja disparado, abaixo mostro a função:

    <script type="text/javascript" language="javascript">
    function ConfirmaExclusao(){
            return confirm('Deseja realmente excluir este usuario?');
        }
    </script>

    Repare que esta função retornará true caso o usuario clique em sim e false caso clique em nao, quando é retornado falso para o OnClientClick ele não realiza o postback, consequentemente não disparando o evento de exclusão.

    Simples assim !

    Espero ter ajudado
    quinta-feira, 17 de julho de 2008 16:53