问题描述
我需要在asp.net核心应用程序中创建一个购物车,但单击“添加到购物车”按钮不起作用,并且“购物车”图标不显示并且没有将商品保存在购物车中时,..有人可以帮助我吗:(?? >
这是我在购物车模型中的方法
public string ShoppingCartID { get; set; }
public List<ShoppingCartItem> ShoppingCartItems { get; set; }
public static ShoppingCart GetCart(IServiceProvider service)
{
ISession session = service.GetrequiredService<IHttpContextAccessor>()?.HttpContext.Session;
var context = service.GetService<DataContext>();
string cartId = session.GetString("CartId") ?? Guid.NewGuid().ToString();
session.SetString("CardId",cartId);
return new ShoppingCart(context) { ShoppingCartID = cartId };
}
public void AddToCart(Book book,int Amount)
{
var shoppingCartItem = _DataContext.shoppingCartItems.SingleOrDefault(s => s.Book.Bookid == book.Bookid && s.ShoppingCartId == ShoppingCartID);
if (shoppingCartItem == null) {
shoppingCartItem = new ShoppingCartItem
{
ShoppingCartId = ShoppingCartID,Book = book,Amount = 1,};
_DataContext.shoppingCartItems.Add(shoppingCartItem);
}
else
{
shoppingCartItem.Amount++;
}
_DataContext.SaveChanges();
}
这是我控制器中的方法
[Authorize]
// GET: ShoppingCartController
public ActionResult Index()
{
var items = _shoppingCart.GetShoppingCartItems();
_shoppingCart.ShoppingCartItems = items;
var ShopVM = new ShoppingCartviewmodel
{
ShoppingCart = _shoppingCart,ShoppingCartTotal = _shoppingCart.GetShoppingCartTotal(),};
return View(ShopVM);
}
[Authorize]
public RedirectToActionResult AddToCart(int bookid)
{
var slecetBook = _bookRepository.Preffedbooks.FirstOrDefault(p => p.Bookid == bookid);
if(slecetBook != null)
{
_shoppingCart.AddToCart(slecetBook,1);
}
return RedirectToAction("Index");
}
@if (Model.ShoppingCart.ShoppingCartItems.Count > 0 && SignInManager.IsSignedIn(User))
{
<li style="padding-top:8px;">
<a asp-controller="ShoppingCart">
<span class="fa fa-cart-plus"></span>
<span id="cart-status">
@Model.ShoppingCart.ShoppingCartItems.Count
</span>
</a>
</li>
}
谁能帮助我:( ??!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)