“GridView1”上同时定义了 DataSource 和 DataSourceID。请移除一个定义。

前言

哈哈,在敲牛腩的时候又遇到了一个成长的机会,刚开始的时候一头雾水,在网上上查了一些方法,发现看的并不是很明白。于是就解决呗,这到好这一解决就是一天,不过话说会来还是很开心的。

正文

这个问题是发生在我要将数据库中catagory表中的数据在页面上加载出来。于是我添加了一个GridView控件,并且在对该控件进行了如下的数据绑定


当然我还在代码中输入了一下语句

protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = new CategoryDAO().SelectAll();
             
            GridView1.DataBind();
        }


于是美妙的事情就发生了如下图



原因

说起来也是很有意思,出现这个问题的原因是因为我进行了两次的数据绑定,第一次绑定是当我添加GridView控件是进行了数据绑定,第二次的时候是我用上方的代码进行了绑定。于是这两个就发生了冲突。

方法

如果在添加控件时进行了数据源的绑定,那么在代码中就不用进行数据绑定了,这两种绑定方式任选其一就OK了。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 42
    评论
帮我找出一下代码的错误,“/程序”应用程序中的服务器错误。 “gvProducts”上同时定义DataSourceDataSourceID移除一个定义。 说明: 执行当前 Web 求期间,出现未处理的异常。检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: “gvProducts”上同时定义DataSourceDataSourceID移除一个定义。 源错误: 行 39: this.gvProducts.DataSource = ds; 行 40: this.gvProducts.DataKeyNames = new string[] { "id" }; 行 41: this.gvProducts.DataBind(); 行 42: da.Dispose(); 行 43: conn.Dispose(); 源文件: c:\Users\86136\Desktop\第2组-网上书店系统\网上书店系统\程序\Myorderlist.aspx.cs 行: 41 堆栈跟踪: [InvalidOperationException: “gvProducts”上同时定义DataSourceDataSourceID移除一个定义。] System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +8658325 System.Web.UI.WebControls.DataBoundControl.GetData() +4 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +60 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 System.Web.UI.WebControls.GridView.DataBind() +4 Myorderlist.bind_ordertables() in c:\Users\86136\Desktop\第2组-网上书店系统\网上书店系统\程序\Myorderlist.aspx.cs:41 Myorderlist.BindShopBasket() in c:\Users\86136\Desktop\第2组-网上书店系统\网上书店系统\程序\Myorderlist.aspx.cs:71 Myorderlist.Page_Load(Object sender, EventArgs e) in c:\Users\86136\Desktop\第2组-网上书店系统\网上书店系统\程序\Myorderlist.aspx.cs:26 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
最新发布
06-09
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值