作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个中继器,可以显示各种股票的财务数据和价格。
在这个页面上,我还有一个“导出”按钮,需要将数据~在屏幕上~转换为用户的 CSV。
问题是,在我对“库存”实体列表进行数据绑定(bind)后:
List<Stock> stocks = GetStocks()
rptStockList.DataSource = stocks;
rptStockList.DataBind();
protected void lbtnExportStocks_Click(object sender, EventArgs e)
{
// No longer have the stock data used in the repeater control
ExportStocksToExcel();
}
最佳答案
可以储存stocks
在 Viewstate 中,还是在 Session 中?例如
List<Stock> stocks = GetStocks()
rptStockList.DataSource = stocks;
rptStockList.DataBind();
ViewState.Remove("stocks");
ViewState.Add("stocks", stocks);
private void ExportStocksToExcel
{
List<Stock> persistedStocks;
persistedStocks = (List<Stock>)Page.ViewState["stocks"];
...
}
Stocks
的更好选择因为这不会在页面中传输给客户端(可能需要进行“创意编辑”的所有可能性)——这在这样的应用程序中可能非常重要。 (是的,您可以加密 Viewstate,但要注意那些您可能不想要的开销的高峰时间。)
关于asp.net - 回发后如何保留转发器中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160528/
我是一名优秀的程序员,十分优秀!