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」で定義されています。1つの定義を削除してください。」というメッセージが表示されます。ここで"GridView1.DataBind();"!しかし、Webページを更新すると、コードは機能しましたが、常にこのエラーが発生します。
- グーグルで検索したところ、両方を使用できないことがわかりました。しかし、グリッドビューで情報を確認する必要があり、sqldatasourceバインディングを削除できません。また、コードを機能させる必要があります。
- DataGridviewID=nullを試しました。エラーは発生しませんが、何も変更されていません。コードは実行されません。何も起こりません。