Tengo un GridView en mi página ASPX.Persisting DataSource en GridView después de PostBack
Cuando hago clic <asp:Button id="btnBindIt" runat="server" />
se une a una tabla de datos de la siguiente manera:
theDataTable = GetAllTheRecords();
gvTheGridView.DataSource = theDataTable;
gvTheGridView.DataBind();
Nota: theDataTable
es un miembro
private DataTable theDataTable;
Esto funciona como se esperaba.
Ahora, después de que el GridView se muestra muy bien, quiero exportar los datos a CSV, por lo que ahora haga clic en el <asp:Button id="btnExportIt" runat="server" />
que se ejecuta el código:
exportToCsv(theDataTable);
pero theDataTable
es nulo.
Así que traté
exportToCsv(gvTheGridView.DataSource)
Lo que también es nulo.
¿Cuál es la forma estándar de conservar estos datos? Realmente no quiero volver a golpear el DB ya que es un SPROC bastante largo y el usuario ya ha esperado una vez.
¡Gracias de antemano!
-1: http: // stackoverflow.com/questions/15408117/why-isnt-caching-system-web-caching-cache-used-for-state-management –
Creo que es una mala idea almacenar grandes cantidades de datos como este en la sesión. Para mí, mi solución fue no almacenar los resultados que planifiqué en el enlace de datos, sino hacer que la consulta que obtenía los resultados fuera más rápida mediante el almacenamiento en caché. Funcionó bien para mi situación. –