0

我正在使用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; 我没有收到任何错误但没有任何改变代码没有执行..没有任何反应
4

1 回答 1

3

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

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

并使用

  SqlDataSource1.Update();

有一个使用数据源的例子,我希望对你有帮助

于 2012-04-18T11:25:03.230 回答