public List<CedWebEntidades.Publicacion> Lista(int IndicePagina, int TamañoPagina, string OrderBy) { System.Text.StringBuilder a = new StringBuilder(); a.Append("select * "); a.Append("from (select top {0} ROW_NUMBER() OVER (ORDER BY {1}) as ROW_NUM, "); a.Append("Publicacion.IdPublicacion, Publicacion.DescrPublicacion, Publicacion.Asunto, Publicacion.URL "); a.Append("from Publicacion "); a.Append("ORDER BY ROW_NUM) innerSelect WHERE ROW_NUM > {2} "); string commandText = string.Format(a.ToString(), ((IndicePagina + 1) * TamañoPagina), OrderBy, (IndicePagina * TamañoPagina)); DataTable dt = new DataTable(); dt = (DataTable)Ejecutar(commandText, TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr); List<CedWebEntidades.Publicacion> lista = new List<CedWebEntidades.Publicacion>(); if (dt.Rows.Count != 0) { for (int i = 0; i < dt.Rows.Count; i++) { CedWebEntidades.Publicacion publicacion = new CedWebEntidades.Publicacion(); Copiar(dt.Rows[i], publicacion); lista.Add(publicacion); } } return lista; }
protected void PublicacionPagingGridView_SelectedIndexChanged(object sender, EventArgs e) { try { DeshabilitarAcciones(); System.Collections.Generic.List<CedWebEntidades.Publicacion> lista = (System.Collections.Generic.List<CedWebEntidades.Publicacion>)ViewState["lista"]; CedWebEntidades.Publicacion publicacion = new CedWebEntidades.Publicacion(); publicacion = (CedWebEntidades.Publicacion)lista[((CedeiraUIWebForms.PagingGridView)sender).SelectedIndex]; string auxCache = "Publicacion" + Session.SessionID; Cache.Remove(auxCache); Cache.Add(auxCache, publicacion, null, DateTime.UtcNow.AddSeconds(300), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.NotRemovable, null); HabilitarAcciones(publicacion); } catch (System.Threading.ThreadAbortException) { Trace.Warn("Thread abortado"); } catch (Exception ex) { CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx"); } }