DataSource和DataSourceID都在'GridView1'上定义。删除一个定义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataSource和DataSourceID都在'GridView1'上定义。删除一个定义相关的知识,希望对你有一定的参考价值。

我想在数据库中添加一条记录,并通过点击添加在同一页面的gridview上查看。对于刷新和更新gridview,我使用showData(),如下所示:

 protected void ShowData()
{

    SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=Khayati;Integrated Security=True");

    con.Open();
    string qu = string.Format("Select * from Ordertb ", con);
    SqlDataAdapter da = new SqlDataAdapter(qu, con);
    DataSet ds = new DataSet();
    da.Fill(ds, "logtbl");
    if (ds.Tables["logtbl"].Rows.Count > 0)
    {
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();
    }
    con.Close();
}

但是有这个错误:

“DataSource和DataSourceID都在'GridView1'上定义。删除一个定义。描述:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的更多信息。

异常详细信息:System.InvalidOperationException:DataSource和DataSourceID都在“GridView1”上定义。删除一个定义。“

而这个错误指向:

GridView1.DataBind();

我必须在一天内完成这个项目,请帮助我。谢谢。

答案

“如果为已经将GridView属性值定义为DataSourceIDDataSourceID的数据源设置为ASPX页面标记中的某个数据源,则经常会出现”在X上定义DataSource和DataSourceID“。

要解决此问题,请在代码隐藏时将if (ds.Tables["logtbl"].Rows.Count > 0) { GridView1.DataSourceID = null; // string.Empty can also used GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); } 属性设置为null:

DataSourceID

或者从GridView页面标记中删除<%-- Before --%> <asp:GridView ID="GridView1" runat="server" DataSourceID="ADataSource" ... /> <%-- After --%> <asp:GridView ID="GridView1" runat="server" ... /> 属性:

Both DataSource and DataSourceID are defined on ‘GridView1’. Remove one definition.

参考文献:

Both DataSource and DataSourceID are defined on 'GridView2'. Remove one definition

qazxswpoi

另一答案

对于那些遇到这个问题并且在搜索上面的错误语法后点击此线程的人只是一个FYI:

如果没有代码更改的合理可能性 - 或者是否存在,但它们应该与错误无关 - 请检查应用程序使用的TLS级别并确保它受.Net Framework级别的支持。

我刚刚帮助客户解决了这个确切的错误,并发现 - 尽管有措辞 - 问题是由于在操作系统级别下TLS 1.2版以下的协议被禁用。

由于许多组织试图实施Microsoft的指导以禁用TLS 1.2以下的协议,这可能是一种常见的误导性错误消息。

以上是关于DataSource和DataSourceID都在'GridView1'上定义。删除一个定义的主要内容,如果未能解决你的问题,请参考以下文章

使用 ASP.NET GridView 定义了 DataSource 和 DataSourceID 错误

VB Gridview 填充和排序

如何获取触发 onSelecting 事件的数据源的 datasourceID?

无法配置dataSource和委托

无法在 BlackBerry Cascades 中通过 https 加载 JSON 数据源

使用C#和实体框架在mysql中的RunTime上创建表