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

时间:2012-04-18 11:19:05

标签: c# asp.net sql

我正在使用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();”!但是当我刷新网页代码时 但我总是得到这个错误。
  • 我在google上搜索过,但我发现我不能同时使用这两个..但我需要 看到gridview上的信息,我无法删除 sqldatasource绑定,我还需要使代码工作。
  • 我试过DataGridviewID = null;我没有得到任何错误但是 没有任何改变,代码没有被执行......没有任何反应

1 个答案:

答案 0 :(得分:3)

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

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

并使用

  SqlDataSource1.Update();

有一个使用数据源的例子,我希望这对你有用Datasource example