【发布时间】:2010-10-16 07:09:07
【问题描述】:
那么这到底是什么意思呢?
有人建议为了规避这个错误,只有在数据表的行数大于零时才将 gridview 绑定到数据集。
但是,例如,如果您的搜索没有返回任何记录,那么您的数据表将没有行,但您仍然可以绑定到数据集呢?
除了检查行是否在数据集(或数据表)中,我如何确保 ilist 包含有效的数据源?
最好的方法是什么?
【问题讨论】:
标签: asp.net gridview webforms datatable
那么这到底是什么意思呢?
有人建议为了规避这个错误,只有在数据表的行数大于零时才将 gridview 绑定到数据集。
但是,例如,如果您的搜索没有返回任何记录,那么您的数据表将没有行,但您仍然可以绑定到数据集呢?
除了检查行是否在数据集(或数据表)中,我如何确保 ilist 包含有效的数据源?
最好的方法是什么?
【问题讨论】:
标签: asp.net gridview webforms datatable
确保你使用这个:
if (!this.IsPostBack)
{
}
您也可以检查dataSet.Tables.Count > 0 然后return dataSet 否则return null;
我认为 DataSet 返回有Count = 0
【讨论】:
请检查您的连接字符串。就我而言,连接字符串是问题所在。
【讨论】:
旧线程,但只是想让人们知道我最近遇到了这个错误(在查看我们的旧系统时),结果发现问题与将数据源直接绑定到数据集有关。
Dim MyDs As new Dataset
MyDs = GetFromDataBase()
MyDropDownList.Datasource = MyDs
奇怪的是,我多年来一直在编写这样的代码,而且它在我的本地机器上运行良好(有史以来最好的开发线 =P)但在服务器上它总是崩溃。
我不得不这样做
MyDropDownList.Datasource = MyDs.Tables(0)
也许这与 Windows 2008 Server 上的 .Net 4.0 有关,不确定,但希望这可能有助于有人浪费 30 分钟寻找错误,寻找一些你认为非常好的(尽管是遗留)代码。
【讨论】:
gridView.DataSource = dataSet.Tables[0]; and presto
IListSource 不包含任何数据源。
为什么网站托管在 IIS 服务器上时会出现此错误。
这是因为数据源没有正确连接到服务器吗?
我在调用该方法时使用了这个回发检查。
if (!this.IsPostBack) { ... }
【讨论】:
确保在将数据绑定到 gridview 后关闭连接
【讨论】:
在我的情况下,我的页面应该重定向到另一个页面,但该 URL 不存在。所以我得到了这个错误。如果您要重定向到其他页面,请检查 URL。
【讨论】: