У меня есть пошаговая форма для моей корзины (с одним представлением), мой метод в контроллере: Оформить заказ
Шаг 1: я сохраняю товары и... в сеансе
шаг 2. выберите адрес.
шаг3. Я хочу сэкономить время доставки в новом сеансе.
Я сохраняю его в новом сеансе, но у меня есть две проблемы:
Если я сохраняю метод и перенаправляюсь это для оформления заказа, корзина будет обновлена, и форма вернется к первому шагу.
если я возвращаю данные метода с помощью ajax, он возвращает ajax, но если я отправляю метод с помощью ajax, это будет обновлено снова. как я могу использовать и сохранить шаг 3 после получения формы оформления заказа (когда мы входим в корзину)
это мой метод сохранения:
[HttpPost]
public IActionResult SaveDeliveryAndPaymentDetailsInSession(CartViewModel model)
{
if (model != null && model.CartDeliveryDateViewModel != null)
{
var deliveryAndPaymentDetails = new CartDeliveryAndPaymentDetails
{
DeliveryDate = model.CartDeliveryDateViewModel.DeliveryDate,
DeliveryTime = model.CartDeliveryDateViewModel.DeliveryTime,
Details = model.CartDeliveryDateViewModel.Details,
PaymentMethod = model.CartDeliveryDateViewModel.PaymentMethod
};
_orderService.SaveDeliveryAndPaymentDetailsInSession(deliveryAndPaymentDetails);
var response = new
{
success = true,
// Optionally return updated form data
formData = model // Assuming model is updated and returned
};
return Json(response);
}
else
{
// Handle the case where model or its properties are null
return RedirectToAction("CheckOut"); // Or any other appropriate action
}
}
а это мой заказ:
[HttpGet("/UserPanel/CheckOut")]
public async Task CheckOut(int? activeTab )
{
var text = await _siteService.GetSiteSettingForEdit();
var tax = text.Tax;
var userId = User.GetCurrentUserId();
// Get From Session
var cartItems = _orderService.GetFromSession();
// Update ClientId In ShowCart after Login
foreach (var item in cartItems)
{
if (item.ClientId == 0)
{
item.ClientId = userId;
}
}
// Get user addresses
var userAddresses = await _orderService.GetClientContactInfoById(userId);
// بازیابی جزئیات تحویل و پرداخت از سشن
var deliveryDetails = _orderService.GetDeliveryAndPaymentDetailsFromSession();
// we check it in repo and create a list:
// List cartAddresses = new List();
//so we don't need to check if null, because in repo 100% create a list for it with object, but not null
// Create CartViewModel
var cartViewModel = new CartViewModel
{
Items = cartItems,
Tax = tax,
CartAddresses = userAddresses,
CartDeliveryDateViewModel = deliveryDetails
};
ViewData["ActiveTab"] = activeTab ?? 0;
await GetStateAndDistricts();
return View(cartViewModel);
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... in-asp-net
Как сохранить несколько объектов из нескольких сеансов в корзине в ASP.NET ⇐ Jquery
Программирование на jquery
1719061062
Anonymous
У меня есть пошаговая форма для моей корзины (с одним представлением), мой метод в контроллере: Оформить заказ
Шаг 1: я сохраняю товары и... в сеансе
шаг 2. выберите адрес.
шаг3. Я хочу сэкономить время доставки в новом сеансе.
Я сохраняю его в новом сеансе, но у меня есть две проблемы:
Если я сохраняю метод и перенаправляюсь это для оформления заказа, корзина будет обновлена, и форма вернется к первому шагу.
если я возвращаю данные метода с помощью ajax, он возвращает ajax, но если я отправляю метод с помощью ajax, это будет обновлено снова. как я могу использовать и сохранить шаг 3 после получения формы оформления заказа (когда мы входим в корзину)
это мой метод сохранения:
[HttpPost]
public IActionResult SaveDeliveryAndPaymentDetailsInSession(CartViewModel model)
{
if (model != null && model.CartDeliveryDateViewModel != null)
{
var deliveryAndPaymentDetails = new CartDeliveryAndPaymentDetails
{
DeliveryDate = model.CartDeliveryDateViewModel.DeliveryDate,
DeliveryTime = model.CartDeliveryDateViewModel.DeliveryTime,
Details = model.CartDeliveryDateViewModel.Details,
PaymentMethod = model.CartDeliveryDateViewModel.PaymentMethod
};
_orderService.SaveDeliveryAndPaymentDetailsInSession(deliveryAndPaymentDetails);
var response = new
{
success = true,
// Optionally return updated form data
formData = model // Assuming model is updated and returned
};
return Json(response);
}
else
{
// Handle the case where model or its properties are null
return RedirectToAction("CheckOut"); // Or any other appropriate action
}
}
а это мой заказ:
[HttpGet("/UserPanel/CheckOut")]
public async Task CheckOut(int? activeTab )
{
var text = await _siteService.GetSiteSettingForEdit();
var tax = text.Tax;
var userId = User.GetCurrentUserId();
// Get From Session
var cartItems = _orderService.GetFromSession();
// Update ClientId In ShowCart after Login
foreach (var item in cartItems)
{
if (item.ClientId == 0)
{
item.ClientId = userId;
}
}
// Get user addresses
var userAddresses = await _orderService.GetClientContactInfoById(userId);
// بازیابی جزئیات تحویل و پرداخت از سشن
var deliveryDetails = _orderService.GetDeliveryAndPaymentDetailsFromSession();
// we check it in repo and create a list:
// List cartAddresses = new List();
//so we don't need to check if null, because in repo 100% create a list for it with object, but not null
// Create CartViewModel
var cartViewModel = new CartViewModel
{
Items = cartItems,
Tax = tax,
CartAddresses = userAddresses,
CartDeliveryDateViewModel = deliveryDetails
};
ViewData["ActiveTab"] = activeTab ?? 0;
await GetStateAndDistricts();
return View(cartViewModel);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78656102/how-can-save-several-objects-from-several-session-in-cart-in-asp-net[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия