首页 新闻 会员 周边

DataSet.Copy()报错

0
悬赏园豆:5 [已关闭问题] 关闭于 2009-08-31 21:24

DataList1绑定的数据源SqlDataSource1,SqlDataSource1是用SqlDataSource空间配的数据源。现在我想通过下面一个语句得到DataSet

DataSet ds = ((DataSet)this.DataList1.DataSource).Copy();

结果报错,错误信息:Object reference not set to an instance of an object.

我调试了一下,发现this.DataList1.DataSource为空,这是为什么呢?

kdmhh的主页 kdmhh | 初学一级 | 园豆:195
提问于:2009-08-18 11:41
< >
分享
所有回答(2)
0

这个应该与DataSet.Copy()没什么关系,

你的this.DataList1.DataSource已经为null了,检查你绑定数据的顺序,是前台还是后台?

你在后台绑定吧。

类似于:

DataTable dt1=GetDataTable();

datalist.DataSource
=dt1;

//****

DataTable dt2
=dt1.Clone();

邀月 | 园豆:25475 (高人七级) | 2009-08-18 13:41
恩,是这样,DataList1的数据源是在前台绑定的,绑定的数据可以正常显示,但是this.DataList1.DataSource取数据源为null,这个问题怎么解决呢?怎么样能通过DataList1的数据源得到Dataset或者DataTable呢?
支持(0) 反对(0) kdmhh | 园豆:195 (初学一级) | 2009-08-18 14:13
0

ASP.net中使用DataSource,需求先绑定后,马上使用,才能有效。

如果是初始化后,再使用就不行了,就成了null了。

kenryuu | 园豆:205 (菜鸟二级) | 2009-08-18 15:18
但是如果在后台写代码,为DataList1添加数据源,然后在其他函数里面用this.DataList1.DataSource就可以取到DataList1的数据源,那么“如果是初始化后,再使用就不行了,就成了null了”做何解释呢?
支持(0) 反对(0) kdmhh | 园豆:195 (初学一级) | 2009-08-18 15:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册