private void BindGrid(int currentPage)
        {
            SisPackController.AdministrarGrillas.Configurar(grdPerfiles, "PerfilID", this.CantidadOpciones);

            if (Session["grdPerfilesSession"] == null)
            {
                IPerfil perfil = PerfilFactory.GetPerfil();
                //perfil.Nombre = this.txtPerfil.Text;
                //perfil.CategoriaPerfilID = Utiles.Validaciones.obtieneEntero(this.cmbCategoria.SelectedValue);
                this.dsPerfiles = perfil.GetPerfilesUsuario(Utiles.Validaciones.obtieneEntero(this.txtUsuarioID.Text));
            }
            else
            {
                this.dsPerfiles = (DsPerfil)Session["grdPerfilesSession"];
                foreach (DataGridItem item in grdPerfiles.Items)
                {
                    DsPerfil.DatosRow dr = (DsPerfil.DatosRow) this.dsPerfiles.Datos.Rows[item.DataSetIndex];

                    CheckBox chk = (CheckBox)item.FindControl("perfilAsignado");
                    dr.Asignado = chk.Checked;
                }
            }
            // actualizo la grilla
            Session["grdPerfilesSession"] = this.dsPerfiles;
            grdPerfiles.DataSource        = this.dsPerfiles;
            grdPerfiles.CurrentPageIndex  = currentPage;
            grdPerfiles.DataBind();
        }