Ir para conteúdo

Arquivado

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

dudsjr

Como devolver mais de um parâmetro no WebMethod?

Recommended Posts

Olá pessoal.

 

Nas pesquisas que fiz por aí de como utilizar Ajax com .Net, achei exemplos em que são utilizados WebMethods.

Só que nos exemplos que vi esse WebMethod só devolvia um parâmetro para a chamada Ajax no formato json.

 

Por exemplo, este seria o codigo para chamar o WebMethod e que pega o parametro padrão "d" que é retornado:

 

$(document).ready(function() {
	$("#lblRodape").text("carregou");
	$("#btnEntrar").click(function() {
		$.ajax({
			type: "POST",
			url: "Default.aspx/teste",
			data: "{}",
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			success: function(msg) {
				$("#lblRodape").text(msg.d);
			}
		});
		return false;
	})
});

Aqui seria o WebMethod:

 

[WebMethod]
		public static String teste()
		{
			String frase = "Testando ajax.";
			return frase;
		}

Gostaria de saber se é possível fazer com que o WebMethod devolva mais que parâmetro e como seria feito isso.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

XML seria a melhor opção pra este caso.

 

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é, XML eu sei que dá mesmo, mas queria ver se existem alguma técnica pra usar o json.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar um Array tb, mas o xml é mais seguro acho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para usar JSON você pode usufruir do eval do javascript, você pode montar uma string no C# e devolver ao Javascript, usando valores fixos, ficaria assim:

 

return "pessoa = { nome: Guilherme, idade: 49 }";

Dai no Javascript você faz:

success: function(msg) {
   var pessoa = eval(msg);
   alert(pessoa.nome);
   alert(pessoa.idade);
}

Na teoria funciona, veja se da certo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para usar JSON você pode usufruir do eval do javascript, você pode montar uma string no C# e devolver ao Javascript, usando valores fixos, ficaria assim:

 

return "pessoa = { nome: Guilherme, idade: 49 }";

Dai no Javascript você faz:

success: function(msg) {
   var pessoa = eval(msg);
   alert(pessoa.nome);
   alert(pessoa.idade);
}

Na teoria funciona, veja se da certo :)

 

Então, testei mais não funcionou dessa maneira. Fazendo desse jeito o WebMethod devolve pro javascript os dados nesse formato:

 

{"d":"pessoa = {nome: dunha, idade: 20}"}

Ou seja, ele cria apenas um parâmetro "d" com tudo q está retornando.

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.