2014-02-15 110 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"]);