IListSource不包含任何数据源

时间:2009-03-30 01:46:32

标签: asp.net gridview webforms datatable

那究竟是什么意思呢?

有些人建议绕过这个错误,只有当数据表的行数大于零时才将gridview绑定到数据集。

但是,例如,如果您的搜索没有返回任何记录,那么您的数据表将没有行,但仍然可以绑定到数据集?

除了检查行是否在数据集(或数据表)中之外,我如何确保ilist包含有效的数据源?

最好的方法是什么?

6 个答案:

答案 0 :(得分:7)

请务必使用此功能:

if (!this.IsPostBack)
{
}

此外,您可以查看dataSet.Tables.Count > 0然后return dataSet其他return null;

我认为DataSet返回有Count = 0

答案 1 :(得分:1)

请检查您的连接字符串。就我而言,连接字符串就是问题所在。

答案 2 :(得分:1)

旧线程,但只是想让人们知道我最近遇到了这个错误(在查看我们的遗留系统时),结果发现问题与将数据源直接绑定到数据集有关。

Dim MyDs As new Dataset
MyDs = GetFromDataBase()

MyDropDownList.Datasource = MyDs

奇怪的是,我已经多年来完成了这样的代码,而且它在我的本地机器上工作得很好(最好的Dev line ever = P)但是在服务器上它只是一直在崩溃。

我不得不做

MyDropDownList.Datasource = MyDs.Tables(0)

也许这与Windows 2008 Server上的.Net 4.0有关,不确定,但希望这可能会帮助浪费30分钟寻找bug的人,因为你的眼睛认为这是完全没问题的(所有遗留的)代码。

答案 3 :(得分:0)

IListSource不包含任何数据源。

为什么在IIS服务器中托管网站时会发生此错误。

这是因为数据源无法与服务器正确连接。

我在调用方法时使用此回发检查。

if (!this.IsPostBack) { ... }

答案 4 :(得分:0)

确保在将数据绑定到gridview

后关闭了连接

答案 5 :(得分:-1)

就我而言,我的页面应该重定向到另一个页面,但是该URL不存在。所以我得到了这个错误。如果您要重定向到其他页面,请检查URL。