如何在 asp.net mvc 4 中购物车订单



我的应用程序是一个在线订单接受应用程序。

我想知道什么是装车的正确方法。虽然我以这种方式使用会话。

我创建了一个单独的sessionManaging类,在那里我有属性可以像这样保存会话:

public static List<custHeader> currOrderItemCustomizationSession
{
      get
      {
         if (HttpContext.Current.Session["currOrderItemCustomization"] != null)
            return ((List<custHeader>)HttpContext.Current.Session["currOrder"]);
         else
            HttpContext.Current.Session["currOrderItemCustomization"] = 
                                                         new List<custHeader>();    
         return (List<custHeader>)
                    HttpContext.Current.Session["currOrderItemCustomization"];
        }
        set
        {
            HttpContext.Current.Session["currOrderItemCustomization"] = value;
        }
    }

还有其他属性,如currOrdercurrOrderItemcurrOrderItemCustomization,我也对它们应用了相同的会话思想。

但是当我设置会话并尝试在控制器中访问时,它总是为空。

public ActionResult GetProductCustomization(int pId)
{
    List<custHeader> custHeader =
                      reposCustomization.GetHeaderCustomization(pId);
     cOrderSession.currOrderItemCustomizationSession = custHeader; 
     return PartialView("_customization", custHeader);
}

在这里,当我使用断点检查它时cOrderSession.currOrderItemCustomizationSession我发现这总是空的。

问题出在我的代码本身

return ((List<custHeader>)HttpContext.Current.Session["currOrder"]);

假设是

return ((List<custHeader>)HttpContext.Current.Session["currOrderItemCustomization"]);

最新更新