Работа с корзиной в ASP.net

У меня есть главная страница, которая имеет верхний и нижний колонтитулы, а на странице содержимого содержится список продуктов, а также количества, связанные с каждым продуктом. Когда пользователь изменяет количество, цены обновляются соответственно.

Все работает нормально, теперь у меня также есть кнопка добавления, связанная с каждым продуктом, всякий раз, когда пользователь нажимает кнопку добавления, я хочу добавить продукт в корзину, и он должен быть доступен в списке, который находится в разделе нижнего колонтитула страницы.

Это все должно происходить с использованием Ajax без обратной передачи.

Мои вопросы:

  1. Я застрял в логике работы корзины.
  2. Я не могу показывать товары в нижней части главной страницы после того, как пользователь нажимает добавить продукт, потому что страница не выполняет обратную передачу, чтобы я мог добавить товары в нижний колонтитул, так как мне требуется 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.. Я не вижу проблем с этим.

Спросите, пропустил ли я что-то.

Другие вопросы по тегам