那究竟是什么意思呢?
有些人建议绕过这个错误,只有当数据表的行数大于零时才将gridview绑定到数据集。
但是,例如,如果您的搜索没有返回任何记录,那么您的数据表将没有行,但仍然可以绑定到数据集?
除了检查行是否在数据集(或数据表)中之外,我如何确保ilist包含有效的数据源?
什么是最好的方法?
确保你使用这个:
if (!this.IsPostBack)
{
}
你也可以检查dataSet.Tables.Count > 0
然后return dataSet
其他return null;
我认为DataSet返回有Count = 0
请检查您的连接字符串。在我的情况下,连接字符串是问题。
旧线程,但只是想让人们知道我最近得到了这个错误(同时查看我们的遗留系统),结果发现问题与将数据源直接绑定到数据集有关。
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分钟寻找漏洞的人,因为你认为这些东西是非常好的(所有遗留的)代码。
IListSource
不包含任何数据源。
为什么在IIS服务器中承载网站时会发生此错误。
这是因为数据源无法与服务器正确连接。
我在调用方法时使用此回发检查。
if (!this.IsPostBack) { ... }
确保在将数据绑定到gridview后关闭连接