Как я могу решить получить неправильную "входную строку не в правильном формате".
Я пытаюсь удалить количество из своей корзины покупок, что я делаю в gridview, но, похоже, я получаю неправильное исключение: "входная строка была не в правильном формате.
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { DataTable dt = new DataTable(); dt = (DataTable)Session["buyitems"]; for (int i = 0; i <= dt.Rows.Count - 1; i++) { int sr; int sr1; string qdata; string dtdata; sr = Convert.ToInt32(dt.Rows[i]["sno"].ToString()); TableCell cell = GridView1.Rows[e.RowIndex].Cells[0]; qdata = cell.Text; dtdata = sr.ToString(); sr1 = Int32.Parse(qdata); //Wrong if (sr == sr1) { dt.Rows[i].Delete(); dt.AcceptChanges(); //Label1.Text = "Item Has Been Deleted From Shopping Cart"; break; } } for (int i = 1; i <= dt.Rows.Count; i++) { dt.Rows[i - 1]["sno"] = i; dt.AcceptChanges(); } Session["buyitems"] = dt; Response.Redirect("AddToCart.aspx"); }
Что я уже пробовал:
Я попытался изменить тип переменной, но все равно остался прежним
F-ES Sitecore
"qdata" содержит текст, который не может быть преобразован в int. Вы не можете рассматривать ячейки gridview как данные, это элементы отображения html, а не столбцы в базе данных. Вы обнаружите, что, как и номер, у вас, вероятно, есть разрыв строки html или что-то подобное. Найдите какой-нибудь другой способ хранения этих данных, например в скрытом поле, или перечитайте данные из исходного источника данных.
Member 14705346
Ладно, спасибо