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 ("getSolicitudesADM"):
            try
            {
                Session["GVT_FILTROSSOLICITUDESADM"] = new string[] { aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[8], aArgs[9], aArgs[10], aArgs[11], aArgs[12], aArgs[13], aArgs[14], aArgs[15], aArgs[16] };

                /*string sEstados,
                *  string sMotivos,
                *  string nDesde,
                *  string nHasta,
                *  string t420_concepto,
                *  string t305_idproyectosubnodo,
                *  string t420_idreferencia)
                *  txtProyecto,
                *  hdnIdAprobador,
                *  txtAprobador,
                *  hdnIdBeneficiario,
                *  txtBeneficiario */

                sResultado += "OK@#@" + CABECERAGV.ObtenerSolicitudesADM(aArgs[1], aArgs[2], aArgs[3], aArgs[4], aArgs[5], aArgs[6], aArgs[7], aArgs[9], aArgs[11], aArgs[13], aArgs[15]);
            }
            catch (Exception ex)
            {
                sResultado += "Error@#@" + Errores.mostrarError("Error al obtener las solicitudes.", ex);
            }
            break;
        }

        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }