私は と が初めてASP.NET
ですC#
。
GridView で選択されている行に応じて、データベースを更新したいと考えています。
この GridView は、ポップアップ ウィンドウ (別の ASPX ページ) で使用されます。
私のポップアップウィンドウの背後にあるコードは次のとおりです。
protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
string selectedID;
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridViewRow gvr = e.Row;
selectedID = (gvDetails.DataKeys[e.Row.RowIndex].Value.ToString());
Session["IDs"] = selectedID;
conn.Open();
System.Data.SqlClient.SqlCommand cmdUpdateSelectedRow = new System.Data.SqlClient.SqlCommand("Update myTable Set Selected = " + 1 +
" WHERE Id = " + Convert.ToInt32(Session["IDs"]) + "", conn);
cmdUpdateSelectedRow.ExecuteNonQuery();
conn.Close();
gvr.Attributes.Add("OnClick", "javascript:window.close()");//i deleted the id=
}
}
ただし、データベースは更新されません。
メソッド内のコードはRowDataBound
、ユーザーが行を選択する前または後に実行されていますか?
アドバイスをいただければ幸いです。