Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心会话未设置正确的信息_C#_Asp.net Core_Asp.net Core Mvc_Asp.net Core 3.1 - Fatal编程技术网

C# ASP.NET核心会话未设置正确的信息

C# ASP.NET核心会话未设置正确的信息,c#,asp.net-core,asp.net-core-mvc,asp.net-core-3.1,C#,Asp.net Core,Asp.net Core Mvc,Asp.net Core 3.1,我在一个图书电子商务网站上工作 我目前正在实现向购物车添加产品。最初,我将其设置为购物车旁边显示的计数是唯一项目的数量,而不是一般项目的数量。因此,如果您在购物车中添加了3本书1,然后在购物车中添加了2本书2,购物车总数将显示为2,因为购物车中有2本独特的书 我决定改为使用单个项目的总数,它会获得正确的单个项目数,这可以通过放置断点并检查变量来查看 但是,当我使用HttpContext.session.SetInt32将计数传递给会话时,会话始终显示唯一产品的数量!不是我想要的总数。我不知道这里

我在一个图书电子商务网站上工作

我目前正在实现向购物车添加产品。最初,我将其设置为购物车旁边显示的计数是唯一项目的数量,而不是一般项目的数量。因此,如果您在购物车中添加了3本书1,然后在购物车中添加了2本书2,购物车总数将显示为2,因为购物车中有2本独特的书

我决定改为使用单个项目的总数,它会获得正确的单个项目数,这可以通过放置断点并检查变量来查看

但是,当我使用
HttpContext.session.SetInt32
将计数传递给会话时,会话始终显示唯一产品的数量!不是我想要的总数。我不知道这里发生了什么事-一些帮助会很好

以下是将对象添加到购物车的方法的代码:

[HttpPost]
[ValidateAntiForgeryToken]
[Authorize]
public IActionResult Details(ShoppingCart CartObject)
{
    CartObject.Id = 0;
    if(ModelState.IsValid)
    {
        // add to cart
        var claimsIdentity = (ClaimsIdentity)User.Identity;
        var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
        CartObject.ApplicationUserId = claim.Value;

        ShoppingCart cartFromDb = _unitOfWork.ShoppingCart.GetFirstOrDefault(
            u => u.ApplicationUserId == CartObject.ApplicationUserId && u.ProductId == CartObject.ProductId, includeProperties: "Product"
            );
        if (cartFromDb == null)
        {
            // no records in db for that product for that user 
            _unitOfWork.ShoppingCart.Add(CartObject);
        }
        else
        {
            cartFromDb.Count += CartObject.Count;
            //_unitOfWork.ShoppingCart.Update(CartObject);
            
        }
        _unitOfWork.Save();

        var count = _unitOfWork.ShoppingCart.GetAll(u => u.ApplicationUserId == claim.Value).Sum(s => s.Count);

        HttpContext.Session.SetInt32(SD.ssShoppingCart, count);

        return RedirectToAction(nameof(Index));
    }
    else
    {
        var productFromDb = _unitOfWork.Product.GetFirstOrDefault(
            u => u.Id == CartObject.ProductId, includeProperties: "Category,CoverType");
        ShoppingCart cartObj = new ShoppingCart()
        {
            Product = productFromDb,
            ProductId = productFromDb.Id
        };
        return View(cartObj);
    }
    
}

你能发布你的模型和视图吗?