paginacion paged net mvc framework bootstrap asp asp.net pagination

asp.net - paged - Usar DataPager sin recuperar todas las filas en cada solicitud



paginacion en asp net core (2)

No has pasado por alto nada.

Cuando se trata de conjuntos de resultados grandes, debe desactivar la búsqueda y agregar sus propios controles de búsqueda.

En mi experiencia << <> >> es suficiente. Nadie pasa la tercera página de todos modos.

Tengo un ListView que estoy vinculando datos a una colección de objetos como este:

int total; List<Client> clientList = clientData.GetClients(criteria, pageNum, pageSize, out total); uxClientList.DataSource = clientList; uxClientList.DataBind();

Donde pageNum, pageSize y los parámetros totales facilitan la búsqueda en la capa de acceso a datos. Hasta aquí todo bien.

Ahora puedo lanzar un DataPager en la página, señalarlo en ListView y obtener un UX de paginación decente. Hay un poco más cuando se vincula programáticamente en lugar de declarativamente con un control de origen de datos , pero el problema aquí es que DataPager espera que el conjunto de resultados completo se recupere cada vez, a partir del cual se debe calcular la paginación, para que vea la única página de resultados devuelta como el total de registros disponibles y se procesa como si solo hubiera una página de resultados disponible. En otras palabras, el escenario anterior funciona bien con DataPager si cambiamos a una versión no de paginación de GetClients:

List<Client> clientList = clientData.GetClients(criteria); uxClientList.DataSource = clientList; uxClientList.DataBind();

Obviamente, dado que nuestra capa de acceso a datos tiene la amabilidad de proporcionarnos un método para recuperar una página a la vez, sería preferible recuperar todos los registros cada vez. Sería bueno si pudiéramos informar explícitamente al DataPager de los registros totales disponibles, de modo que todavía se pueda crear automáticamente la salida de paginación, pero solo se requiere una página a la vez para hacerlo.

No he encontrado una manera fácil de hacer esto y no he encontrado nada en las búsquedas. Es cierto que actualmente no poseo una comprensión profunda de la implementación de DataPager, así que con suerte estoy pasando por alto algo.


Eche un vistazo a ListViewPagedDataSource y su propiedad AllowServerPaging , creo que puede ser lo que está buscando ...