protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                Master.sbotonesOpcionOn  = "71";
                Master.TituloPagina      = "Consulta de imputaciones";
                Master.bFuncionesLocales = true;
                Master.FuncionesJavaScript.Add("Javascript/boxover.js");
                Master.FuncionesJavaScript.Add("PopCalendar/PopCalendar.js");
                Master.FicherosCSS.Add("PopCalendar/CSS/Classic.css");

                Utilidades.SetEventosFecha(this.txtDesde);
                Utilidades.SetEventosFecha(this.txtHasta);

                DateTime dHoy = DateTime.Now, dtAux;
                int      nDias = dHoy.Day;
                dtAux         = dHoy.AddDays(-nDias + 1);
                txtDesde.Text = dtAux.ToShortDateString();
                dtAux         = dtAux.AddMonths(1).AddDays(-1);
                txtHasta.Text = dtAux.ToShortDateString();

                this.cboProyecto.AppendDataBoundItems = true;
                this.cboProyecto.DataValueField       = "t305_idproyectosubnodo";
                this.cboProyecto.DataTextField        = "t305_seudonimo";
                this.cboProyecto.DataSource           = Consumo.ObtenerProyectosImputacionesIAP((int)Session["UsuarioActual"],
                                                                                                DateTime.Parse(txtDesde.Text),
                                                                                                DateTime.Parse(txtHasta.Text));
                this.cboProyecto.DataBind();

                string strTabla = obtenerDatos("",
                                               txtDesde.Text,
                                               txtHasta.Text);

                string[] aTabla = Regex.Split(strTabla, "@#@");
                if (aTabla[0] == "OK")
                {
                    this.strTablaHTML = aTabla[1];
                }
                else
                {
                    Master.sErrores += Errores.mostrarError(aTabla[1]);
                }


                //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 los datos", ex);
        }
    }
    private string getProyectos(string sFechaDesde, string sFechaHasta)
    {
        StringBuilder sb     = new StringBuilder();
        bool          bError = false;
        string        sResul = "";

        try
        {
            if (!Utilidades.isDate(sFechaDesde))
            {
                sResul = "Error@#@La fecha desde no es correcta";
                bError = true;
            }
            if (!bError && !Utilidades.isDate(sFechaHasta))
            {
                sResul = "Error@#@La fecha hasta no es correcta";
                bError = true;
            }
            if (!bError)
            {
                SqlDataReader dr = Consumo.ObtenerProyectosImputacionesIAP((int)Session["UsuarioActual"], DateTime.Parse(sFechaDesde), DateTime.Parse(sFechaHasta));

                while (dr.Read())
                {
                    sb.Append(dr["t305_idproyectosubnodo"].ToString() + "##" + dr["t305_seudonimo"].ToString() + "///");
                }
                dr.Close();
                dr.Dispose();

                sResul = "OK@#@" + sb.ToString();
            }
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los datos de consulta de proyectos", ex);
        }
        return(sResul);
    }