Pregunta

Recientemente he notado una restricción sutil en mecanismo de paginación de GridView. paginación eficiente, cargando simplemente página solicitada de los datos, sólo es posible con el uso de controles DataSource como ObjectDataSource que los medios declarativa enlace de datos y es imposible cuando no se utiliza una fuente de datos y sólo de código subyacente (MSDN describe aquí ).

hace esto mediante ASP.NET no se basa en la programación declarativa código detrás? Y es mejor que hacer la programación declarativa de forma predeterminada?

¿Fue útil?

Solución

De los WebForms caja intenta dirigirlo por el camino declarativa. Usted puede conseguir alrededor de ese código y escribir en realidad, pero WebForms hace que sea extremadamente difícil.

Si realmente desea tener un control entonces usted debe buscar en el marco ASP.NET MVC.

Otros consejos

ASP.Net utiliza tanto: marcado es declarativa, de código subyacente es imprescindible.

Se debe favorecer un estilo que conduce a un código más declarativa - La construcción de los controles de usuario, por ejemplo. Pero esos controles todavía necesitarán código imperativo que les dice cómo comportarse.

terminé haciendo mi propia paginación usando la función de SQL ROWNUMBER.

select * from
( select row_number() over (order by pk asc) as rownumber, * from ...)
where row_number between @a and @b

Terminé no va declarativa en absoluto - en lugar de alimentar una fuente de datos de los parámetros (que uno sea factible podría hacer) que se ríe de todo en el código subyacente, establecer el origen de datos manualmente, construido el localizador a mano

La razón por la que lo hice de esa manera? Un error en el parámetro de 3,5 querystringfield manejo .

Podría haber manejado probablemente la fuente de datos de objetos con row_number, pero no lo hace Tienes que hacer nada de forma declarativa, si no le importa a.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top