Работа с корзиной в ASP.net
У меня есть главная страница, которая имеет верхний и нижний колонтитулы, а на странице содержимого содержится список продуктов, а также количества, связанные с каждым продуктом. Когда пользователь изменяет количество, цены обновляются соответственно.
Все работает нормально, теперь у меня также есть кнопка добавления, связанная с каждым продуктом, всякий раз, когда пользователь нажимает кнопку добавления, я хочу добавить продукт в корзину, и он должен быть доступен в списке, который находится в разделе нижнего колонтитула страницы.
Это все должно происходить с использованием Ajax без обратной передачи.
Мои вопросы:
- Я застрял в логике работы корзины.
- Я не могу показывать товары в нижней части главной страницы после того, как пользователь нажимает добавить продукт, потому что страница не выполняет обратную передачу, чтобы я мог добавить товары в нижний колонтитул, так как мне требуется jquery для добавления товаров.
Может ли кто-нибудь помочь мне по поводу вышеупомянутых 2 вопросов.
1 ответ
0.. Сначала вы должны выбрать способ хранения товаров в корзине. Вы можете сделать это на стороне клиента в файлах cookie или на стороне сервера в сеансе или в базе данных. Выполнение этого на стороне клиента может быть более сложным, потому что кроме идентификатора добавленной в корзину статьи и номера каждой статьи, вы также должны динамически отображать названия статей, загружать изображения из их URL-адресов... Так что вам, вероятно, понадобится сделать ajax http get просит получить дополнительную информацию об элементах корзины или сохранить их как-нибудь на странице. Я лично не предпочитаю такой подход. Если вы решили хранить информацию о корзине на сервере (как я предпочитаю), вы должны добавить пары методов js/C# для добавления / удаления товаров в / из корзины. Метод, который добавляет товар в корзину по его идентификатору, может также вернуть всю информацию об товаре, которая требуется для отображения товара в корзине. Например, js может выглядеть так:
function addItem(id) {
$.post(
'/add-item',
{ id: id },
function (addedItemInfoJson) {
// display item in cart
}
);
}
1. Используя подход, выбранный на шаге 0, вы всегда сохраняете элементы. Затем вам нужно написать функцию js, которая будет получать эти элементы с сервера или из файлов cookie и отображать их там, где вам это нужно. Таким образом, вы можете просто использовать эту функцию для синхронизации отображения данных с тем, что у вас действительно есть в вашем хранилище. Поэтому после добавления, удаления или увеличения / уменьшения количества элементов вы просто можете вызвать эту функцию.
2.. Я не вижу проблем с этим.
Спросите, пропустил ли я что-то.