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

Posted

技术标签:

【中文标题】使用 ASP.NET GridView 定义了 DataSource 和 DataSourceID 错误【英文标题】:Both DataSource and DataSourceID are defined error using with ASP.NET GridView 【发布时间】:2011-06-15 18:19:22 【问题描述】:

是的,我知道。可能重复的问题。

但在gridview上情况不同。

<asp:GridView ID="Grid_Goster" runat="server" AutoGenerateColumns="False" CellPadding="4" 
            DataSourceID="SqlDataSource3" ForeColor="#333333" GridLines="None" 
            Height="144px" Width="316px">

<asp:SqlDataSource ID="SqlDataSource3" runat="server" 
            ConnectionString="<%$ ConnectionStrings:SqlServerCstr %>" 
            SelectCommand="SELECT * FROM [AVUKAT]"></asp:SqlDataSource>

我得到这样的错误:

DataSource 和 DataSourceID 都是 在“Grid_Goster”上定义。删除一个 定义。 描述:在执行过程中发生了未处理的异常 执行当前的 Web 请求。 请查看堆栈跟踪以获取更多信息 有关错误和位置的信息 它起源于代码。

Exception Details: System.InvalidOperationException: Both

DataSource 和 DataSourceID 是 在“Grid_Goster”上定义。删除一个 定义。

来源错误:

An unhandled exception was generated during the execution of the

当前的网络请求。信息 关于原产地和位置 可以使用

来识别异常

在我的 .cs 文件中有这样的代码。

SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            Grid_Goster.DataSource = dr;
            Grid_Goster.Visible = true;

我认为这段代码可以正常工作。 我该如何解决这个DataSourceDataSourceID 问题?

【问题讨论】:

【参考方案1】:

也许这是一个愚蠢的问题;但最好只是要求澄清一下。您是否在同一控件上同时指定了数据源对象(在您的代码中) DatasourceID(在您的 ASPX 标记中)?我想由于数据源的模糊性,当您尝试数据绑定时它不会起作用。

【讨论】:

【参考方案2】:

你的代码后面必须有手动绑定。删除手动绑定或 SQL 数据源。

【讨论】:

以上是关于使用 ASP.NET GridView 定义了 DataSource 和 DataSourceID 错误的主要内容,如果未能解决你的问题,请参考以下文章

ASP.net 自定义 GridView 控件

Asp.net中GridView使用详解(引)

ASP.NET:如何为 GridView 创建自定义分页器?

asp.net中在Gridview中自定义一列操作,应该怎么做?

是否可以在不使用 ObjectDataSource 的情况下自定义 GridView(在 ASP.NET 中,最好是 3.5)分页?

向导控件中的 Gridview 自定义分页在 asp.net 中无法正常工作