Как я могу удалить строку gridview с помощью обработчика события onRowDeleting, в котором значение двух ячеек таблицы базы данных совпадает с ячейкой gridview?Я использовал этот код, но он показывает ошибку: «Обнаружено несколько элементов управления с одинаковым идентификатором Label_stock. FindControl требует, чтобы элементы управления имели уникальные идентификаторы».
protected void grid_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
using (SqlConnection sqlCon = new SqlConnection(cs))
{
sqlCon.Open();
string query = "DELETE FROM tb_product WHERE product_id = @product_id";
SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@product_id", Convert.ToInt32(GridView_show_product.DataKeys[e.RowIndex].Value.ToString()));
sqlCmd.ExecuteNonQuery();
ClientScript.RegisterStartupScript(this.GetType(), "randomtext", "delete_successful()", true);
showgrid();
}
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "randomtext", "any_error()", true);
}
}
Вот фрагмент кода gridview:
<asp:TemplateField HeaderText="In Stock" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label_stock" Text='<%# Eval("product_stock")+" "+Eval("product_stock_unit") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>