Увеличить значение текстового поля на 1 при нажатии в listview в C#

#c# #asp.net #listview

#c# #asp.net #listview

Вопрос:

Я создаю корзину покупок. Для заполнения элементов я использовал ListView. Существует опция, при которой пользователь может увеличить или уменьшить значение на 1 от количества для определенных элементов в текстовом поле. Я немного запутался, какую логику я должен использовать здесь.

OnItemCommand Я пробовал следующий код, но не работает.

 private void cartItemsList_ItemCommand(object sender, ListViewCommandEventArgs e)
{
    if (e.CommandName == "incrementButton") {
        try {
            int ID = e.CommandArgument;
            Label mainQuantity = (Label)e.Item.FindControl("quantity");
            mainQuantity.Text = mainQuantity.Text   1;
            ((Label)e.Item.FindControl("quantity")).Text = mainQuantity.Text;
        } catch (Exception ex) {
            Response.Write(ex);
        }
    }
}
  

Ошибка

ystem.InvalidCastException: невозможно привести объект типа ‘System.Web.UI.WebControls.Текстовое поле «для ввода»System.Web.UI.WebControls.Метка’. в cart.cartItemsList_ItemCommand(отправитель объекта, ListViewCommandEventArgs e)

Снимок корзины введите описание изображения здесь

Комментарии:

1. Исключение объясняет это; поле «Количество» — это не метка, а скорее текстовое поле. Попробуйте TextBox mainQuantity = (TextBox)e.Item.FindControl("quantity");

2. @KeyurPATEL О, черт возьми. Я допустил такую глупую ошибку. В любом случае спасибо за помощь 🙂