gridview在viewstate中保存数据吗?

时间:2011-03-31 17:02:47

标签: asp.net gridview viewstate

喜 我将DataTable绑定到gridview。 我想在一些回发事件中使用DataTable,并且我想使用viewstate。 gridview在viewstate中保存数据吗?如果没有什么是最好的方法。

(全文: 我有一个源自标准asp.net gridview的自定义gridview, 我在标题中放了一个按钮将数据导出到excel,我想使用保存在viewstate中的数据导出到excel)

感谢

3 个答案:

答案 0 :(得分:6)

简短的回答是肯定的,GridView中显示的信息与任何控件的当前状态非常相似,都存储在ViewState中。但是,我认为从WebControls可用的ViewState集合中获取此数据并不容易,甚至可能。相反,ASP.NET在生命周期中运行事件处理程序之前从ViewState填充值,因此如果在处理程序中询问GridView对象服务器端,则应该看到单元格的当前值。

答案 1 :(得分:4)

还有其他方式:

1:在会话中存储您的DataTable

2:根据导出按钮的使用频率和获取的数据量,您可以进行数据库调用。

答案 2 :(得分:0)

声明如下:

它清楚地显示gridview数据存储在viewstate中:

//Binding GridView
gv_Settlements.DataSource = dt_settlements;
gv_Settlements.DataBind();

//Retrieving Data
DataTable dt = (DataTable)gv_Settlements.DataSource;