public void RaiseCallbackEvent(string eventArg) { string sResultado = ""; //1º Si hubiera argumentos, se recogen y tratan. //string MisArg = eventArg; string[] aArgs = Regex.Split(eventArg, "@#@"); sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null) { _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return; } ; //2º Aquí realizaríamos el acceso a BD, etc,... switch (aArgs[0]) { case ("mostrarDatos"): try { sResultado += "OK@#@" + BonoTransporte.mostrarDatos(aArgs[1]); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex); } break; case ("grabar"): try { sResultado += "OK@#@" + BonoTransporte.Grabar(aArgs[1], aArgs[2], aArgs[3]); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al grabar los datos.", ex); } break; case ("estadoBono"): try { sResultado += "OK@#@" + BonoTransporte.mostrarBonos(aArgs[1]); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al grabar los datos.", ex); } break; } //3º Damos contenido a la variable que se envía de vuelta al cliente. _callbackResultado = sResultado; }
protected void Page_Load(object sender, EventArgs e) { try{ Master.nBotonera = 19; Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click); Master.bFuncionesLocales = true; Master.TituloPagina = "Mantenimiento de bono transporte"; Master.FuncionesJavaScript.Add("Javascript/draganddrop.js"); Master.FuncionesJavaScript.Add("Javascript/boxover.js"); Master.FuncionesJavaScript.Add("Javascript/fechas.js"); Master.FicherosCSS.Add("Capa_Presentacion/Mantenimiento/css/Mantenimiento.css"); if (!Page.IsCallback) { //Para que se muestre la botonera, únicamente hay que indicar el número de botonera //y crear el manejador de eventos para la misma. if (!Page.IsPostBack) { try { strTablaHTMLBonos = BonoTransporte.mostrarBonos("A"); strTablaHTMLOficinas = BonoTransporte.mostrarOficinas(); } catch (Exception ex) { Master.sErrores = Errores.mostrarError("Error al obtener los datos", ex); } } //1º Se indican (por este orden) la función a la que se va a devolver el resultado // y la función que va a acceder al servidor string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false); string cbLlamada = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}"; //2º Se "registra" la función que va a acceder al servidor. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true); } } catch (Exception ex) { Master.sErrores = Errores.mostrarError("Error al cargar la página.", ex); } }