Предположим, что на странице ASP.NET .aspx
у меня есть метод Page Load
и еще один метод для события нажатия кнопки.Сеанс ASP.NET и жизненный цикл страницы
В методе Page Load
я проверяю, зарегистрирован ли пользователь, проверив сеанс. Является ли он или нет, я сохраняю результат в глобальной переменной.
Boolean isGuest = false;
protected void Page_Load(object sender, EventArgs e) {
if(Session["id"]==null)
isGuest = true;
else
isGuest = false;
}
Давайте скажем, 20 минут прошло, и я не знаю, если сессия была прекращена или нет, а затем я нажимаю кнопку, событие выглядит следующим образом:
protected void Button_Click(object sender, EventArgs e) {
if(isGuest==false)
//do something
else
// do another thing
}
Мой вопрос is: Когда я нажимаю кнопку, ASP.NET снова проходит метод Page_Load
(еще раз проверьте isGuest
) или просто выполняет то, что находится внутри метода Button_Click
, означает, что он использует Boolean isGuest
, который может быть false
, но в действительности сеанс прекращается, значит он должен быть true
.
Почему бы просто не проверить его? – RononDex
@RononDex Это проверено и работает, но я просто хочу убедиться, что ничего не получилось. –