У меня есть действие MVC, где я получаю некоторые данные из пользовательского интерфейса. Теперь я хочу присвоить эти данные объекту, а затем сохранить этот объект в списке сеансов. Но при каждом запросе счетчик сессии равен 0.
[HttpPost]
public ActionResult AddToCart(Purchase purchase)
{
if(Session["AddedProduct"] == null)
{
List<AddedProductView> addedProducts = new List<AddedProductView>();
AddedProductView addedProductView = new AddedProductView();
addedProductView.ProductId = purchase.ProductId;
addedProducts.Add(addedProductView);
Session["AddedProduct"] = addedProducts;
}
else
{
List<AddedProductView> addedProducts = (List<AddedProductView>)Session["AddedProduct"];
AddedProductView addedProductView = new AddedProductView();
addedProductView.ProductId = purchase.ProductId;
addedProducts.Add(addedProductView);
Session["AddedProduct"] = addedProducts;
}
return View();
}
Здесь, при каждом запросе, я получаю новый список, что означает, что каждый раз выполняется условие if. Я сериализовал в своем классе. Что я здесь не так делаю?
И мой сценарий выглядит так:
<script>
$(document).ready(function () {
$('#btnAddToCart').click(function () {
var data = $('#PurchaseForm').serialize();
$.ajax({
type: 'Post',
url: '/Purchase/AddToCart',
data: data,
success: function (response) {
window.location = '/Purchase/AddToCart'
}
})
})
})
</script>