I`m сделать хороший сайт ASP.NET, где я сохранить детали пользователя на сессии при входе в систему следующим образом:ASP.NET Session [] параметр не работает от Page_Load()
protected void Login_Click(object sender, EventArgs e)
{
//If details at the user/password textboxes are legit:
Session["User"] = new User(LoginUserTB.Text, LoginPassTB.Text, null, Class.UNDEF);
}
Это работает очень хорошо. Например, у меня есть ярлык с именем Приветственный тег, которому предлагается перейти на приветствие, включая имя пользователя, если пользователь будет сохранен в сеансе. Я запрограммировал его так, и он работает.
загрузки страницы:
if(Session["User"]!=null)
WelcomeTag.Text = "Welcome, " + ((User)Session["User"]).Username + ".";
Однако, по некоторым причинам, он не работает должным образом на одной из этикеток. Это ярлык главной страницы с именем StatusDesc, который должен включать дату на сервере и имя пользователя, если таковой имеется. На странице, у меня есть следующий код:
if (Session["User"] != null)
{
((Label)Master.FindControl("StatusDesc")).Text = "Currently logged to: " + ((User)Session["User"]).Username + ".<br>" + ((Label)Master.FindControl("StatusDesc")).Text;
}
Он работал раньше, и i`m наверняка об имени компонента мастер страницы - я не изменить его в то же время; Однако теперь, даже если я зарегистрирован, он просто не покажет строку Username - только строку даты, которую он показывает, даже если в сеансе нет пользователя.
Любая идея, почему такое происходит? если вам нужно предоставить другие разделы кода, просто спросите.
спасибо, что заблаговременно!
вводит 'if (Session [" User "]! = Null)' block? – Banana
Есть ли у вас реализация обновления сеанса? – Dhanuka777
Примечания: У меня нет возможности для обновления сеанса. Я также заметил, что на первой странице, которую вы видите после входа в систему, вы можете увидеть часть «Пользователь» в статусе, но после этого вы не можете. –