2014-02-15 36 views
0

我的申请是一个在线订单申请。如何在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这总是空。

+0

说明明显不过:你确定'reposCustomization.GetHeaderCustomization(PID)'不会返回NULL。 – gideon

+0

另外,请确保您下次拼写正确,它会让更多人阅读并因此回答您的问题。还要确保你的代码不会超出帖子的宽度(所以你的代码块中不会出现水平滚动条)。它使阅读起来不那么痛苦。 – gideon

+0

好吧,我会但至少让我知道这是一个正确的方法来维持会议,我将能够得到在其他地方.. .. – NoviceToDotNet

回答

0

的问题是在我的代码本身

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

被假设是

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