我是新手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
是在用户选择一行之前还是之后运行?
任何意见,将不胜感激。