[英]Edit Functionality in GridView Works Only in the First Row
我的插入和删除功能工作正常,但是我在编辑功能上遇到问题。 编辑功能仅在行的第一行起作用,但是如果我尝试编辑第二行或第三行,则会出现此错误:“必须声明标量变量“ @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;
您正在使用以下代码对行进行硬编码:
TextBox myTextBox11 = GV_InlineEditing.Rows[0].FindControl("GV_Post_ID") as TextBox;
.Rows[0]
将始终查找第一行,而不管其状态如何。 您可能想使用EditIndex属性查看正在编辑的行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.