如何获取Gridview底层数据源?

3 c# asp.net gridview

我在框架3.5下的asp.net Web应用程序中有gridview.我正在使用List绑定gridview.在网格内部有更新和删除功能,运行正常.但我的保存功能,我决定从数据源中提取列表,然后通过循环我将新列表插入数据库.但是,当我试图以传统方式获得它时,它让我无效.

我尝试了以下方法来检索List.

1. List<MyClass> list = (List<MyClass>gv.DataSource);
2. List<MyClass> list = gv.DataSource as List<MyClass>;
3. IDataSource idt = (IDataSource)gv.Datasource;
   List<MyClass> list = (List<MyClass>)idt;
Run Code Online (Sandbox Code Playgroud)

但是没有运气,每次我都无效.

Kel*_*sey 7

绑定并提供页面后,您无法检索数据源.您可以使用几种方法来保留数据源:

  1. 在绑定之前存储数据 Session
  2. 在绑定之前存储数据 ViewState
  3. 从数据库或从最初检索它的任何数据存储中获取数据.
  4. 保持存储在其他地方的变化(例如一个持续的高速缓存Session,ViewState等等)

我宁愿远离拖放数据源和绑定数据的使用.

因此,在您的情况下,将列表存储在可访问的位置,并在您进行操作时对其进行操作并每次重新绑定.然后,当您想要执行"保存"时,您只需处理List已存储并用于定义GUI 的基础数据对象().的GridView是不是一个数据存储,只是呈现基于数据存储中的数据的控制.