post icon

Hacer Postback con JavaScript y enviar parámetros al servidor en ASPNet

Ya vimos como invocar métodos del servidor con JavaScript anteriormente, a esto podemos agregarle que quisieramos pasarle argumentos o parametros que tenemos en el lado cliente, al servidor.

Es muy sencilla ésta tarea, al mismo código anterior le agregaríamos el argumento deseado así:

function EnviarPostbackConParametros(args) {
    __doPostBack("IdPostBack", args);
}

El valor “IdPostBack” lo cambiaran por el que desee ustedes, pueden tener n-identificadores para luego preguntar por el target y decidir que hacer en cada caso. La funcion recibe un argumento y lo envía al servidor, lo recuperaríamos de este modo:

if (Request.Params["__EVENTTARGET"] == "IdPostBack")
	string args = Request.Params["__EVENTARGUMENT"];

Pero que sucede si quiero enviar más de un argumento? No podemos enviar n-argumentos desde javascript (si se lo hace no se produce ningún error, pero sólo se reconoce el primero). Ya lo dicen por ahí “hecha la ley, hecha la trampa“, podemos usar un artificio para este efecto:  Concatenamos los argumentos desde JavaScript separandolos por algún carácter, en mi ejemplo será el punto y coma.

function EnviarPostbackConParametros(args1, args2, argsn) {
    __doPostBack("IdPostBack", args1 + ";" + args2 + ";" argsn);
}

Y luego nos valemos del split en el servidor

if (Request.Params["__EVENTTARGET"] == "IdPostBack")
	string[] args = Request.Params["__EVENTARGUMENT"].Split(';');;

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder