2013-05-29 2 views
1

Я назначили сеанс объекта пользовательского класса как:Как получить значение Session в объекте класса?

Services Obj = getServiceDetails(3); //getting all data of Service where Id = 3 
Session["ServiceObj"] = Obj; 

Теперь я хочу, чтобы присвоить ему значение того же класса в другой объект в классе модели. Я не знаю, как это сделать.

Я пытался, но это не действительный способ .:

Services oldObj = <Services>Session["ServiceObj"]; 

Pls помочь мне. Я не знаю, как это сделать.

+1

'Услуги oldObj = (услуги) Секция [ "ServiceObj"];' – Igor

+0

Спасибо @Igor, он работает. – Dhwani

+0

@Igor, Было бы неплохо, если бы вы опубликовали свой комментарий в качестве ответа. Поэтому я могу принять его. – Dhwani

ответ

6

Правильного типа бросок требует круглых скобок:

Services oldObj = (Services)Session["ServiceObj"]; 
+0

+1 как вы были первыми с комментарием :) – Sachin

+0

+1 Вы ответили сначала как комментарий. – RajeshKdev

2

вы должны использовать Services oldObj = (Services)Session["ServiceObj"];

вместо Services oldObj = <Services>Session["ServiceObj"];

1
not <Services> use (Services) for casting 
1

брось с классом, как этот

Services obj = (Services)Session["ServiceObj"]; 
1

Вы также можете реорганизовать типизированный поиск данных с использованием общего типа, например. используя метод расширения, например, так:

public static class MyExtensions 
{ 
    public static T GetTypedVal<T>(this HttpSessionState session, string key) 
    { 
     var value = session[key]; 
     if (value != null) 
     { 
      if (value is T) 
      { 
       return (T)value; 
      } 
     } 
     throw new InvalidOperationException(
        string.Format("Key {0} is not found in SessionState", key)); 
    } 
} 

Что вы можете использовать для справки и стоимостных типов, например, так:

Session["Value"] = 5; 
    var valResult = Session.GetTypedVal<int>("Value"); 

    Session["Object"] = new SomeClass() { Name = "SomeName" }; 
    var objResult = Session.GetTypedVal<SomeClass>("Object"); 
+1

Спасибо за обмен знаниями ... + 1 за это :) – Dhwani

Смежные вопросы