Usuário com melhor resposta
Gerar um script confirm em tempo de execução

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
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:
segue aqui um articgo que pode te ajudar:
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 16 de fevereiro de 2017 11:20
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:
segue aqui um articgo que pode te ajudar:
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 16 de fevereiro de 2017 11:20
-
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
-
-
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
----------------------------------------------------------