, когда пользователь выбирает «добавить в корзину», itemID этого элемента строки добавляется в массив, который затем сохраняется в сеансе.
на странице корзины покупок у меня есть вид сетки, который читает имя, цену из базы данных, где сессия ["массив"] = itemID
ошибка отображается при загрузке страницы корзины.
Все, что я хочу сделать, - это получить список элементов, выбранных пользователем, который находится в массиве, и заполнить их в виде таблицы на странице корзины.
открытый частичный класс Drama_k: System.Web.UI.Page
{
Массив ArrayList;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["array"] == null)
{
array = new ArrayList();
Session.Add("array", array);
}
else
array = Session["array"] as ArrayList;
GridView1.DataSource = array;
GridView1.DataBind(); //Edit 2
}
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddToCart")
{
int index = Convert.ToInt32(e.CommandArgument);
array.Add(GridView2.DataKeys[index].Value.ToString());
}
}
}
Страница корзины покупок имеет только вид сетки, где оператор sql равен
ВЫБРАТЬ [ItemID], [Имя], [RelDate], [Цена], [Статус] ОТ [item_k] ГДЕ ([ItemID] = @ItemID)
значение ([ItemID] = @ItemID) равно Session ("array")
в чем здесь проблема?
заранее спасибо.
// редактировать 2
ArrayList tmpArrayList = new ArrayList();
tmpArrayList = (ArrayList)Session["array"];
string itemIDs = string.Empty;
foreach (object itemID in tmpArrayList)
{
itemIDs += itemID.ToString() + ',';
}
itemIDs = itemIDs.Substring(0, itemIDs.Length - 1);
где itemID теперь содержат значения "3,16"
Я поместил строку запроса в окне построителя запросов, и я получил эту ошибку
когда я запускаю сайт.
"Invalid column name ' + itemIDs + '. "