我的插入和删除功能正常,但我遇到了编辑功能的问题。编辑功能仅适用于行的第一行,但如果我尝试编辑第二行或第三行则 我收到此错误: “必须声明标量变量”@Post_ID“ 这是我的代码:
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
int id = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
TextBox date = (TextBox)row.FindControl("date");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "update t_your_table " +
"set " +
"date = @date, " +
" time = @time where id = @ID "
cmd.Parameters.Add("@id", SqlDbType.VarChar).Value = id;
cmd.Parameters.Add("@date", SqlDbType.VarChar).Value = date.Text;
答案 0 :(得分:0)
您正在对此代码中的行进行硬编码:
TextBox myTextBox11 = GV_InlineEditing.Rows[0].FindControl("GV_Post_ID") as TextBox;
无论状态如何, .Rows[0]
始终会找到第一行。您可以使用EditIndex property来查看正在编辑的行。