当前位置:编程学习 > C#/ASP.NET >>

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

“GridView1”上同时定义了 DataSource 和 DataSourceID。请移除一个定义。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: “GridView1”上同时定义了 DataSource 和 DataSourceID。请移除一个定义。

源错误: 


行 27:         Conn.Close();
行 28:         GridView1.DataSource = ds;
行 29:         GridView1.DataBind();
行 30:     }
行 31:     protected void Button1_Click(object sender, EventArgs e)
 
--------------------编程问答-------------------- 提示你去掉一个,看看属性中是不是指定了另一个 --------------------编程问答-------------------- 你GridView1的属性中 有DataSourceID="**"
把这个属性删掉就可以了 --------------------编程问答--------------------   <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="StudentID" DataSourceID="SqlDataSource1" Width="621px" 
            Height="191px">
            <Columns>
                <asp:BoundField DataField="StudentID" HeaderText="学号" ReadOnly="True" 
                    SortExpression="StudentID" />
                <asp:BoundField DataField="StudentName" HeaderText="姓名" 
                    SortExpression="StudentName" />
                <asp:BoundField DataField="Sex" HeaderText="性别" SortExpression="Sex" />
                <asp:BoundField DataField="Minzu" HeaderText="民族" SortExpression="Minzu" />
                <asp:BoundField DataField="DataOfBirth" HeaderText="出生日期" 
                    SortExpression="DataOfBirth" />
                <asp:BoundField DataField="Specialty" HeaderText="专业" 
                    SortExpression="Specialty" />
                <asp:BoundField DataField="Comefrom" HeaderText="生源" 
                    SortExpression="Comefrom" />
                <asp:BoundField DataField="Beizhu" HeaderText="备注" SortExpression="Beizhu" />
                <asp:HyperLinkField HeaderText="编辑/删除" 
                    NavigateUrl="C:\Users\delll\Desktop\新建文件夹 (3)\编辑删除.aspx" Text="编辑/删除" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:StudentDBConnectionString %>" 
            SelectCommand="SELECT * FROM [StudentInfo]"></asp:SqlDataSource> --------------------编程问答-------------------- 按我这样设置。
GridView1.DataSourceID=null;
GridView1.DataSource = ds;
GridView1.DataBind(); --------------------编程问答-------------------- 删除GridView1.DataSource = ds;

或者<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="StudentID" DataSourceID="SqlDataSource1" Width="621px" 
            Height="191px">
中的DataSourceID="SqlDataSource1" --------------------编程问答-------------------- 这2个属性是不能同时定义的.
你在代码中删除一个.
如果前后台执行不同操作的话后台写成下面这样的
this.GridView1.DataSourceID = null;
this.GridView1.DataSource = ds;
this.GridView1.DataBind(); --------------------编程问答-------------------- 既然你写了
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
             ConnectionString="<%$ ConnectionStrings:StudentDBConnectionString %>" 
             SelectCommand="SELECT * FROM [StudentInfo]"></asp:SqlDataSource> 
怎么还去设置什么 DataSource 属性呢?

这个SqlDatasource控件是asp.net2.0的技术,而另一个是asp.net1.1的技术。

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,