【问题标题】:IListSource does not contain any data sourcesIListSource 不包含任何数据源
【发布时间】:2010-10-16 07:09:07
【问题描述】:

那么这到底是什么意思呢?

有人建议为了规避这个错误,只有在数据表的行数大于零时才将 gridview 绑定到数据集。

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

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

最好的方法是什么?

【问题讨论】:

    标签: asp.net gridview webforms datatable


    【解决方案1】:

    确保你使用这个:

    if (!this.IsPostBack)
    {
    }
    

    您也可以检查dataSet.Tables.Count > 0 然后return dataSet 否则return null;

    我认为 DataSet 返回有Count = 0

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        Dim MyDs As new Dataset
        MyDs = GetFromDataBase()
        
        MyDropDownList.Datasource = MyDs
        

        奇怪的是,我多年来一直在编写这样的代码,而且它在我的本地机器上运行良好(有史以来最好的开发线 =P)但在服务器上它总是崩溃。

        我不得不这样做

        MyDropDownList.Datasource = MyDs.Tables(0)
        

        也许这与 Windows 2008 Server 上的 .Net 4.0 有关,不确定,但希望这可能有助于有人浪费 30 分钟寻找错误,寻找一些你认为非常好的(尽管是遗留)代码。

        【讨论】:

        • 我的情况完全一样。奇怪的是,该应用程序在我本地机器上的 IIS 中运行良好。改行如下:gridView.DataSource = dataSet.Tables[0]; and presto
        【解决方案4】:

        IListSource 不包含任何数据源。

        为什么网站托管在 IIS 服务器上时会出现此错误。

        这是因为数据源没有正确连接到服务器吗?

        我在调用该方法时使用了这个回发检查。

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

        【讨论】:

          【解决方案5】:

          确保在将数据绑定到 gridview 后关闭连接

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 2011-05-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-07-26
              • 2021-04-02
              • 1970-01-01
              相关资源
              最近更新 更多