2009-09-24 2 views
0

В моей MasterPage я устанавливаю переменную сеанса для некоторого значения, которое я получил из базы данных. Значение отображается на нижнем колонтитуле каждой страницы, поэтому оно находится в MasterPage.ASP.NET 2.0 Session & Master Page

protected void Page_Load(object sender, EventArgs e) 
{   
    Session["TODAY"] = value_from_DB; 
} 

Позже, я хочу использовать это значение на других страницах, но Session [ «СЕГОДНЯ»] равна нулю, в то время как его значение отображается на сноске.

Как получить доступ к значениям сеанса на страницах, значение задано на главной странице?

ответ

3

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

+0

Другими словами: знать и понимать жизненный цикл вашей страницы. – chris

+0

@ IanT8 вы правы - @dbrmr см. Здесь http://msdn.microsoft.com/en-us/library/dct97kc3.aspx – RichardOD

0

Да, вы можете использовать значение сеанса на странице, заданной в MasterPage.

Убедитесь, что Session["TODAY"] никогда не установлен в null в любом месте в вашем приложении. Скорее всего, вы переписываете это значение позже в жизненном цикле страницы.

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