我在框架 3.5 下的 ASP.NET Web 应用程序中有 gridview。我将 gridview 与 List 绑定。网格内部有运行良好的更新和删除功能。但是我的保存功能,我决定从数据源中提取列表,然后通过循环将新列表插入数据库。但是当我尝试以传统方式获取它时,它返回了 null。
我尝试了以下方法来检索列表。
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;
但运气不好,每次我都得到空值。
一旦绑定并提供页面,您就无法检索数据源。不过,您可以使用几种方法来保留数据源:
- 绑定前存储数据
Session
- 绑定前存储数据
ViewState
- 从数据库或您最初检索数据的任何数据存储中获取数据。
- 持续缓存存储在其他地方的更改(例如
Session
, ViewState
, etc)
不过,我更喜欢远离数据源和绑定数据的拖放使用。
因此,在您的情况下,将列表存储在可访问的地方,并在每次进行时操作它并重新绑定它。然后,当您想要执行“保存”操作时,您可以只处理底层数据对象(List
)您已存储并用于定义 GUI。这GridView
不是一个数据存储,只是一个基于数据存储呈现数据的控件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)