Problema paginando una consulta con linq y utilizando ListView y DataPager

11/07/2010 - 23:07 por jcpc91 | Informe spam
Estoy desarrollando una aplicación en la cual necesito que sea muy
eficiente para ello necesito reducir el número de postback que se
realizan y disminuir el tamaño de la página (principal desactivando el
viewsate) y haciendo uso de AJAX (utilizo jquery, json). todo esto me
llevó a no utlizar controles asp si no html puro ya que he encontrado
muy complicado de trabajar la mezcla de ASP.Net con jquery pero bueno.

El problema que tengo ahora es que decidi paginar mi consulta con linq
de la siguiente manera

var k = (from a in db.Product select
a).Skip(comenazar_en_fila).Take(20);

La consulta linq anterior me regresa solo 20 registros cuando
anteriormente tendría que hacer un select a toda la tabla para solo
mostrar 20 registros.

posterior mente lo asigno a un listview en el evento pageload en
codebehind
<asp:ListView id="listview" runat="server" query></
asp:ListView>

this.listview.datasource= k; //siendo "k" mi consulta
this.listview.databind();

mi listview contiene un control DataPager configurado para paginar a
través de un querystring de la siguiente manera
<asp:DataPager id="page" runat="server"
QueryStringField="page"></asp:DataPager>

Mi problema es que el datapager solo me muestra una página el cual me
parece lógico porque desde el resultado de la consulta me regresa los
registros que quiero mostrar que son 20 reegistros.

alguien sabe como puedo paginar con el datapager con una consulta que
ya está paginnando y aun así haga la paginación

gracias por sus respuestas
 

Leer las respuestas

#1 jcpc91
15/07/2010 - 15:59 | Informe spam
bueno como no encontré solución con esto si encontré un control
llamado AspNetPager que parece que si soluciona el problema el cual se
puede descargar de http://aspnetpager.codeplex.com/

Preguntas similares