那究竟是什么意思呢?
有些人建议绕过这个错误,只有当数据表的行数大于零时才将gridview绑定到数据集。
但是,例如,如果您的搜索没有返回任何记录,那么您的数据表将没有行,但仍然可以绑定到数据集?
除了检查行是否在数据集(或数据表)中之外,我如何确保ilist包含有效的数据源?
最好的方法是什么?
答案 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。