私は Asp.net の初心者です。grid の linkbutton をクリックした後、 gridview 行を削除したいと思います。datakeys を使用してクリックした gridview 行の主キーを取得しようとしています。それを Delete ストアド プロシージャに渡します。しかし、 index out of range の例外が発生します。助けてくださいどうすればいいですか?これが私のコードです
GridView grid=(GridView)sender;
LinkButton lnkbtndelete = (LinkButton)e.CommandSource;
GridViewRow grdvwrw = (GridViewRow)lnkbtndelete.NamingContainer;
int pkey = Convert.ToInt32(grid.DataKeys[grdvwrw.RowIndex].Value.ToString());
SqlCommand cmd3 = new SqlCommand("USP_DELETE_NOTICE", con2);
cmd3.CommandType = CommandType.StoredProcedure;
cmd3.Parameters.AddWithValue("@NOTICEID", pkey);
int rowsdeleted = cmd3.ExecuteNonQuery();`enter code here`