Как удалить строку вида сетки, где значение двух ячеек в базе данных совпадает в одной ячейке вида сетки? - PullRequest
0 голосов
/ 03 апреля 2019

Как я могу удалить строку 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...