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

我正在使用gridview和SqlDataSource将数据表信息绑定到gridview。 在gridview更新事件中,我有以下代码:

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { var ID = (int)GridView1.DataKeys[e.RowIndex]["No"]; string costring = "the conn string"; string query = "UPDATE mytable SET Age = @Age WHERE No = " + ID; using (SqlConnection dataConnection = new SqlConnection(costring)) { using (SqlCommand com = new SqlCommand(query, dataConnection)) { dataConnection.Open(); int valueID = 18; com.Parameters.AddWithValue("Age", valueID); com.ExecuteNonQuery(); GridView1.DataSource = SqlDataSource1; GridView1.DataBind(); dataConnection.Close(); } } } 
  • 如果我单击更新事件,我得到:“DataSource和DataSourceID都在’GridView1’上定义。删除一个定义。” 这里“GridView1.DataBind();”! 但是当我刷新网页代码工作但我总是得到这个错误。
  • 我在谷歌搜索,我发现我不能同时使用这两个..但我需要在gridview上看到信息,我不能删除sqldatasource绑定,我也需要使代码工作。
  • 我试过DataGridviewID = null; 我没有得到任何错误,但没有任何改变代码没有执行..没有任何反应

如果发出此语句,是否真的需要再次分配数据源

  GridView1.DataSource = SqlDataSource1; GridView1.DataBind(); 

并使用

  SqlDataSource1.Update(); 

有一个使用datasource的例子,希望能帮到你Datasource的例子