Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

drigo

[Resolvido] captura de exceção usando o Jquery.

Recommended Posts

Olaa,

 

 

 

Sou iniciante em Asp.Net C#, estive pesquisando como fazer uma requisição Ajax, para realizar a chamada a métodos que devem me retornar valores, no qual necessito usar. Consegui realizar a requisição perfeitamente, no qual retorno todas as informações que necessito, segue abaixo o código para melhor visualização:

 

1) Código da Requisição Ajax.

 

function requisicaoAjax(parametros, ret) {

$.ajax({

type: "POST",

url: 'frmCliente/retornaNomeCliente',

data: parametros,

contentType: "application/json; charset=utf-8",

dataType: "json",

success: retorno,

//captura da exceção pelo Jquery para setar o erro no Label.
error: function (messageExcecao, txtStatus, errThrown) {

var error = parseJSON(mensagemExcecao.responseText);

  $("#<%= labelErro.ClientID %>").text(error.Message);

   }
  });
 }

 

2) Código No Frm no qual o código anterior realiza as chamadas.

 


[WebMethod]
public static string retornaNomeCliente(string idCliente)
{
string nomeCliente = "";

try{

    nomeCliente = Cliente.RetornaNomeCliente(idCliente);

}

    return nomeCliente ;

}catch (Exception){

 throw;
} 
}

 

Tudo funciona PERFEITAMENTE, mas me deparo com um problema, pois preciso capturar o conteúdo da exceção e atribuir ao label de erros, isso é feito através da captura da exceção pelo Jquery que atribui a respectiva exceção ao Label, segue abaixo algumas dúvidas:

 

1) Lançar uma exceção dessa forma e o Jquery capturar como está sendo realizado é considerado uma má pratica ???

 

 

2) Inicialmente eu tinha a intenção de não lançar essa exceção para ser capturada pelo Jquery, mas preciso setar o valor da mesma no label de erros, não posso fazer isso diretamente pois o método é estático, existe outra forma de realizar a mesma requisição mas o método não ser estático ??

 

 

3) Porque obrigatoriamente o método deve ser estático ??

 

Desde já, Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.