Tengo un repetidor que muestra los datos financieros y los precios de diversas acciones.¿Cómo puedo persistir los datos de un repetidor después de la devolución?
En esta página, también tengo un botón de "exportación" que necesita tomar los datos ~ en la pantalla ~ y convertirlos en un archivo CSV para el usuario.
El problema es que después de que databind mi lista de entidades "archivo":
List<Stock> stocks = GetStocks()
rptStockList.DataSource = stocks;
rptStockList.DataBind();
Los datos no se conserva en la devolución de datos.
Además, los datos en esta página se actualizan constantemente a través de un UpdatePanel y un control Timer (siendo re-databound cada vez). Cada 30 segundos cambian los precios mostrados para las distintas existencias en el control del repetidor.
Ahora, tengo un botón de enlace que tiene un método de evento de clic en el código subyacente que se supone que exporta los ~ datos en la pantalla ~ para el usuario. Necesito tomar los valores actuales para la lista de stocks enlazados al último repetidor. No puedo simplemente obtener los últimos valores de la base de datos porque se habrán cambiado en el tiempo transcurrido entre la última actualización.
protected void lbtnExportStocks_Click(object sender, EventArgs e)
{
// No longer have the stock data used in the repeater control
ExportStocksToExcel();
}
Sé que ASP.NET no persiste la fuente de datos para el repetidor en el post-atrás, pero tengo que seguir siendo capaz de o bien volver a construir esta lista de entidades archivo así que les puedo enviar el archivo CSV o necesito persistir de alguna manera.
No quiero hacer nada que sea demasiado pesado en términos de rendimiento, ya que durante ciertos días de la semana esta aplicación puede tener un uso intensivo.
¿Cuál es la solución adecuada para este tipo de situaciones? ¿Debería iterar a través de la colección "Artículos" del Repetidor y reconstruir las entidades de Stock?
Creo que necesita publicar algo de información sobre exactamente lo que 'ExportStocksToExcel()' hace porque el repetidor no debe perder los datos que está ligado a él (suponiendo que no ha deshabilitado viewstate en el control o página) debido a viewstate . Sin embargo, no puede leer los datos hacia atrás desde el repetidor desde su fuente de datos si eso es lo que esperaba (o al menos de forma razonable). –
@Chris Marisic, entonces, teniendo en cuenta lo que escribí anteriormente, ¿cómo recuperarías personalmente los datos del repetidor para generar un CSV? – Darwin
@Chris Marisic, a partir de ahora todo lo que ExportStocksToExcel() hace es configurar el tipo de contenido y encabezado adecuado y luego voy a escribir una respuesta con los datos CSV. Sin embargo, estoy teniendo dificultades para descubrir cómo recuperar esa información. – Darwin