2014-02-15 6 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; 
     } 
    } 

Есть и другие свойства также как currOrder, currOrderItem, currOrderItemCustomization и я применил тот же путь сеанса идея они тоже.

Но когда я установил сеанс и попытался получить доступ к контроллеру, он всегда равен нулю.

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

Вот когда я проверить его с точкой излома я нахожу cOrderSession.currOrderItemCustomizationSession это пустое значение всегда.

+0

Констатируя очевидное, но: Вы уверены, что 'reposCustomization.GetHeaderCustomization (ИДП)' не возвращает нуль. – gideon

+0

Кроме того, пожалуйста, убедитесь, что правильно написано в следующий раз, это заставит больше людей читать и, следовательно, ответить на ваш вопрос. Попробуйте также убедиться, что ваш код не охватывает ширину сообщения (так что в вашем блоке кода не отображаются горизонтальные полосы прокрутки). Это делает менее болезненным для чтения. – gideon

+0

ОК, я буду, но, по крайней мере, дайте мне знать, это правильный подход к поддержанию сеанса, и я смогу попасть в другое место. – NoviceToDotNet

ответ

0

Проблема была в моем коде сам

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

предполагают, чтобы быть

return ((List<custHeader>)HttpContext.Current.Session["currOrderItemCustomization"]); 
Смежные вопросы