“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"怎么还去设置什么 DataSource 属性呢?
ConnectionString="<%$ ConnectionStrings:StudentDBConnectionString %>"
SelectCommand="SELECT * FROM [StudentInfo]"></asp:SqlDataSource>
这个SqlDatasource控件是asp.net2.0的技术,而另一个是asp.net1.1的技术。
补充:.NET技术 , C#