我正在使用asp.net mvc 2.0来实现购物车应用程序。我的情况是, 我有一个订单页面,我将产品添加到Cart.Below它将显示购物车总数。接下来我将进入购物车页面删除或编辑项目。在此页面中它将显示相同的购物车总数如在订单页面中。
但是如果我再次返回订单页面再向购物车订购更多产品,则订单页面中的购物车总数显示为0金额。 这是我的购物车控制器操作方法,
public ActionResult ShoppingCart(int eventID) { 事件e = eRepository.GetEvent(eventID); var cart = Stalbans.Models.ShoppingCart.GetCart(this.HttpContext);
// Set up our ViewModel
var viewModel = new ShoppingCartViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal() }; TempData [“data”] = cart.GetTotal(); if(viewModel.CartItems.Count!= 0) { List listp = pRepository.GetProductsForEvent(e.EventID); foreach(listp中的字符串项) { ViewData [item] = pRepository.GetProductsWithProdNameAndEventID(e.EventID,item); ViewData [“sizelist”] = listp;组g = new GroupRepository()。GetGroup(new EventRepository()。GetEvent(e.EventID).GroupID); ViewData [“group”] = g; }
如果(Request.IsAuthenticated) ViewData [“returnUrlAfterLogOff”] = HttpContext.Request.RawUrl; ViewData [“EventOrders”] = oRepository.GetOrderedEvents(User.Identity.Name); ViewData [“eventModel”] = e;
返回View(viewModel);
因此,一旦我从订单页面进入购物车页面并再次返回订单页面,它必须显示相同的购物车总数。 实际上数据会保留在购物车总数中但不会显示。因为如果再添加一个商品,其金额将添加到existimng购物车总数中,然后显示当前的购物车总数。 因此,我第一次点击它,它必须显示购物车总价值中已存在的购物车总数。 那么这样做的最佳方法是什么。我必须使用会话状态或稍微请告诉我。
提前致谢,
答案 0 :(得分:0)
您可能需要将购物车存储到会话中,以便在页面重定向之间保留添加的产品。