none
Gerar um script confirm em tempo de execução RRS feed

  • Pergunta

  • Tenho uma página onde tenho que verificar uma situação no banco, caso essa situação seja verdadeira preciso mostrar um confirm para o usuário e caso ele clique em Ok faço um redirect, caso contrário tenho que dar uma mensagem.

    Como faço isso ?

    Fiz isso aqui ele mostra a mensagem mais não sei como pegar o click do confirm

    em vb.net

    Response.Write("<script language=""javascript"">confirm('usuário não cadastrado, deseja cadastrar ?');</script>")
    


    Junior

    segunda-feira, 13 de fevereiro de 2017 14:43

Respostas

Todas as Respostas

  • Nao tem como pegar desta forma. O Confirm é gerado no lado do servidor(server side), mas ele se executa do lado do cliente (client side). 

    A unica forma de capturar isso seria voce criar um script que no caso do confirm altere um element hidden (ou execute um post), mais ou menos assim:

    <script type="text/javascript">
    function confirmation() {
        var answer = confirm("usuário não cadastrado, deseja cadastrar ?")
        if (answer){
                                 document.getElementByID("hdnValue").value='true';
        }
        else{
                     document.getElementByID("hdnValue").value='false';
        }
    }
    </script>
    
    
    

    no code behind:

     Dim cstype As Type = Me.GetType()

    ScriptManager.RegisterStartupScript( me, cstype,  "confirm", "<script>confirmation();</script>",    false)

    aqui mais sobre o ResgisterStartupScript:

    https://msdn.microsoft.com/en-us/library/z9h4dk8y(v=vs.110).aspx?f=255&MSPPError=-2147217396&cs-save-lang=1&cs-lang=vb#code-snippet-2

    segue aqui um articgo que pode te ajudar:

    http://www.aspsnippets.com/Articles/Server-Side-Code-Behind-Yes-No-Confirmation-Message-Box-in-ASPNet.aspx


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 13 de fevereiro de 2017 15:03
    Moderador
  • Tentar isso:

    <script>
     var resposta = confirm("Deseja se cadastrar?");
     if (resposta == true){
     //minha ação caso ele clique em 'ok'
     }
     else {
      //minha ação caso clique em 'cancelar'
     }
    <script>

    caso deseje que o código acima seja executado sempre a cada certo tempo, tente isso:

    <script>
    function FConfirm(){
     var resposta = confirm("Deseja se cadastrar?");
     if (resposta == true){
     //minha ação caso ele clique em 'ok'
     }
     else {
      //minha ação caso clique em 'cancelar'
     }
    }
    // 30.000 é 30segundos
    setInterval("FConfirm()", 30000);
    <script>
    • Sugerido como Resposta Gabriel G.Sales segunda-feira, 13 de fevereiro de 2017 15:05
    • Editado Gabriel G.Sales segunda-feira, 13 de fevereiro de 2017 15:17
    segunda-feira, 13 de fevereiro de 2017 15:04
  • Fiz mais ou menos como vc falou, deu certo.

    Junior

    segunda-feira, 13 de fevereiro de 2017 18:29
  • Fiz mais ou menos como vc falou, deu certo.

    Junior

    Qual das duas soluçoes deu certo? Marque a resposta (que solucionou o seu problama) como correta para a thread seja fechada.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 13 de fevereiro de 2017 21:13
    Moderador