asp.net gridview viewstate

asp.net - ¿gridview guarda datos en viewstate?



(3)

Hay otras formas como:

1: Almacenamiento de su DataTable en la sesión

2: dependiendo de con qué frecuencia se va a utilizar ese botón de exportación y la cantidad de datos que se obtienen, puede hacer una llamada a un DB.

hola, ato una DataTable a una vista de grilla. Quiero usar DataTable en algún evento de postback, y ii quiero usar viewstate. ¿gridview guarda datos en viewstate? si no, ¿cuál es la mejor manera de hacer esto?

(historia completa: tengo una vista de cuadrícula personalizada derivada de gridview asp.net estándar, y pongo un botón en el encabezado para exportar datos a excel, quiero usar los datos guardados en viewstate para exportar a Excel)

Gracias


La respuesta corta es sí, la información que se muestra en el GridView, al igual que el estado actual de cualquier control, se almacena en ViewState. Sin embargo, no creo que sea fácil, incluso posible, obtener estos datos usted mismo de la colección ViewState que está disponible para WebControls. En su lugar, ASP.NET rellena valores de ViewState antes de ejecutar los controladores de eventos en el ciclo de vida, por lo que si interroga su objeto GridView desde el lado del servidor en un controlador, debería ver los valores actuales de las celdas.


La siguiente declaración aclararía la idea:

Muestra claramente que los datos de gridview se almacenan en viewstate:

//Binding GridView gv_Settlements.DataSource = dt_settlements; gv_Settlements.DataBind(); //Retrieving Data DataTable dt = (DataTable)gv_Settlements.DataSource;