微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net核心应用程序中的购物车不起作用

如何解决asp.net核心应用程序中的购物车不起作用

我需要在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 举报,一经查实,本站将立刻删除。