none
BreakPoint RRS feed

  • Pergunta

  • Eu tenho uma pagina.aspx

    Que no seu codigo behind C# tem a seguinte msg abaixo:

    ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", true);

    Como eu coloco abaixo desse codigo um break na aplicação ?

    Obs: esse codigo esta dentro de um button.

    Aguardo retorno.

    Obrigado.

    quarta-feira, 11 de setembro de 2013 13:50

Todas as Respostas

  • Clica nessa linha de código para posicionar o mouse sobre ela e aperta a tecla F9 para colocar um BreakPoint (Ponto de Interrupção) nela...

    Rode o projeto, clique no botão quando essa linha ficar amarela você está no modo de depuração vá monitorando pelas janelas Auto ou Locals e com o Mouse.


    Leonardo Lourenço Silva


    quarta-feira, 11 de setembro de 2013 13:56
  • Eu devo ter explicado errado.

    Vamos la.

    Eu quero um comando que vai barras a aplicação.

    Exemplo de uma outra linguagem windows: Exit Sub

    Pois a msg e de erro para o usuario, então depois da messagem não pode mais rodar os codigos que estiverem abaixo.

    Espero que tenham entendido.

    Fico no aguardo.

    Obrigado.

    quarta-feira, 11 de setembro de 2013 14:01
  • Para abortar o fluxo da aplicação coloque um return;

    Leonardo Lourenço Silva


    quarta-feira, 11 de setembro de 2013 14:02
  • Como essa mensagem só aparece quando ocorre um erro, o correto é utilizar os blocos try e catch.


    Claudio Neto

    quarta-feira, 11 de setembro de 2013 15:30
  • EU USEI O RETURN;

    POREM ELE NAO PARA A APLICAÇÃO APOS O ERRO.

    DEVE SER USANDO TRY OU CATCH,

    MAS EU NUNCA USEI.

    COMO EU USO ?

    FICO NO AGUARDO.

    OBRIGADO.

    quinta-feira, 12 de setembro de 2013 17:14
  • try
    {
      //Linhas que podem dar erro
    }
    catch (Exception erro)
    {
       ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", true);
       return;
    }


    Leonardo Lourenço Silva


    quinta-feira, 12 de setembro de 2013 17:17
  • Desculpe mas não entendi

    quando cai nesse meu codigo abaixo:

    ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", true);
      
    return;
    Ja e a menssagem de erro acima,

    Eu so preciso parar a aplicação e mais nada.

    Apos a msg de erro para a aplicação

    exemplo em vb6

    msg de erro

    exit sub

    pronto era resolvido

    dessa forma que foi postado eu não estou entendendo  se usa um ou outro.

    ou os 2

    e como usar tambem.

    Quem puder me ajudar eu agradeço

    Obrigado.

    quinta-feira, 12 de setembro de 2013 17:28
  • Agora você está explicando MELHOR, você quer dar essa mensagem e parar a execução de qualquer código em Visual C# abaixo dela certo?

    Com o comando abaixo enviamos um comando em javascript para ser processado no lado do Cliente (NAVEGADOR) e não executamos mais nenhum código no Servidor (C#), com o return o fluxo de execução vai para a última chave do escopo do código e a página é enviada para o Cliente para Renderização...

    Cara se não for isso, explica MELHOR, no começo era Break Point, depois quando desse erro depois abortar

       ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", true);
       return;


    Leonardo Lourenço Silva


    quinta-feira, 12 de setembro de 2013 17:34
  • Paulo coloque assim.

    ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", false);
    

    Altere o true por false. Pois com isso ele vai setar o return do JavaScript como false. 

    Penso que isso irá resolver seu problema. 

    Caso não resolva faça seu código assim:

     try
                {
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "myalert", "alert('Programação de Estrutura Metálica duplicado');", true);
                   
                    throw new Exception("Erro na aplicação");
                }
                catch (Exception ex)
                {
                    
                    throw ex;
                }

    Espero ter ajudado. 

    Caso ajudou marque. 

    Abraço.

    quinta-feira, 12 de setembro de 2013 17:36
  • Leonardo

    Eu analisando o codigo aqui.

    De fato o return;

    passa todos os codigos abaixo dele e vai para a ultima linha.

    Porem esse codido esta dentro de button_salvar de um formview então mesmo pulando todas as linhas o que ele faz e ignorar os demais codigos e salvar os dados.

    Nesse caso eu tenho que parar a aplicação sem salvar.

    Eu antes fazia usando um truque. eu tinha um textbox e colocava uma validação de não pode ficar em branco do RequiredFieldValidator

    e depois da menssagem de erro eu limpava esse campo textbox.text = "";

    E parava a aplicação sem salvar.

    mas nesse caso eu não tenho um textbox com esse validador. e tenho que fazer o mesmo processo.

    Entendeu agora.

    Se não entenderam eu tento explicar novamente.

    Fico no aguardo.

    Obrigado

    quinta-feira, 12 de setembro de 2013 17:44
  • Fernando,

    O argumento FALSE no método RegisterClientScriptBlock Não é para parar a execução do JAVASCRIPT e sim para NÃO COLOCAR as TAGS DE SCRIPT <SCRIPT></SCRIPT>, vide documentação abaixo...

    http://msdn.microsoft.com/pt-br/library/bb338357.aspx

    Lançar um Erro capturar no Catch e Lançar denovo, MELHOR NEM TER POSTO TRY CATCH JÁ que sempre vai subir pra Página...

    Simplesmente não faz sentido nenhum !!!


    Leonardo Lourenço Silva


    quinta-feira, 12 de setembro de 2013 17:49
  • Cara tira um Print do código ???

    Leonardo Lourenço Silva


    quinta-feira, 12 de setembro de 2013 17:51
  • Leonardo

    Eu analisando o codigo aqui.

    De fato o return;

    passa todos os codigos abaixo dele e vai para a ultima linha.

    Porem esse codido esta dentro de button_salvar de um formview então mesmo pulando todas as linhas o que ele faz e ignorar os demais codigos e salvar os dados.

    Nesse caso eu tenho que parar a aplicação sem salvar.

    Eu antes fazia usando um truque. eu tinha um textbox e colocava uma validação de não pode ficar em branco do RequiredFieldValidator

    e depois da menssagem de erro eu limpava esse campo textbox.text = "";

    E parava a aplicação sem salvar.

    mas nesse caso eu não tenho um textbox com esse validador. e tenho que fazer o mesmo processo.

    Entendeu agora.

    Se não entenderam eu tento explicar novamente.

    Fico no aguardo.

    Obrigado

    Cara, você precisa analisar as ações que seu programa deve fazer. Analise passo a passo o que deve ser feito.

    Se o programa está salvando as informações e depois lançando o erro, tem algo de MUITO errado ai.

    Veja em qual linha está dando erro e verifique se essa linha não deveria estar antes da ação de salvar as informações.

    Ex.: você salva os dados no banco e depois verifica se os dados no formulário estão corretos (campos numéricos, datas, valores...)


    Claudio Neto

    quinta-feira, 12 de setembro de 2013 20:12