2012-02-10 3 views
0

У меня есть некоторое значение, связанное с определенным именем, для например .: Проблема связана с переменной в C#

FirstName : Ghanshyam; 
LastName : Thakkar; 
Age : 25; 
Designation : Student; 

Я хочу передать это значение на другую страницу с помощью сессии. Как передать оба значения Name and Value как в одной переменной, используя Session?

+1

что, если вы идете JSON/XML ???? – Umer

ответ

5

Создайте класс 'Person', заполните его и добавьте в Session.

[Serializable] 
public class Person 
{ 
    public string FirstName{get;set;} 
    public string LastName {get;set;} 
    public int Age {get; set;} 
    public string Designation {get;set;} 
} 

использование:

Person thePerson = new Person(); 
thePerson.FirstName = "Ghanshyam"; 
thePerson.LastName = "Thakkar"; 
thePerson.Age = 25; 
thePerson.Designation = Student; 

Session["ThePerson"] = thePerson; 

А в другой странице:

Person thePerson = (Person)Session["ThePerson"]; 
+0

-1 за то, что если вы не отмечаете класс как [Serializable, вы не можете сохранить, если на сеанс. –

+2

@ Floradu88 - Если это сеанс InProc, он все равно будет работать, но я добавлю его. –

1

Попробуйте это .. Инициализировать сессию

Session["value"] = FirstName +":"+LastName ; 

на другой стороне страницы использование split

var sessionvalue = Session["value"].toString().Split(':'); 

наконец, обратитесь с помощью

sessionvalue[0],sessionvalue[1] 
+0

Вы должны лучше использовать защитное программирование, чтобы получить этот объект и передать свой объект сеанса в строку, после проверки его типа. –

+1

да @ Floradu88 u тоже прав ... но даже это работает в простом случае, когда без классов ... – Madhu

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