Переменные сеанса ASP.Net - борьба с кешем - PullRequest
0 голосов
/ 30 июня 2011

Я использую некоторые переменные сеанса для хранения и передачи данных через несколько страниц приложения ASP.Net.Поведение немного непредсказуемо, хотя.Я устанавливаю переменную сеанса post_load следующим образом

Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
If (Session.Item("ScholarshipID") = Nothing) Then
    Session.Add("ScholarshipID", "Summer2011")
End If

Хорошо, пока все хорошо, при загрузке страницы normal .Если пользователь завершает действие формы, переходит на следующую страницу и решает: «НЕТ НЕТ», мне нужно изменить поле xyz и щелкнуть назад, исправить данные, а затем отправить, переменная сеанса отображается как NULL.Почему кэшированный сеанс ведет себя так?Я не уничтожаю / не очищаю переменную, если я не могу понять область действия переменных сеанса.

1 Ответ

0 голосов
/ 30 июня 2011

попробуй

If (IsNothing(Session("Scholarship"))) Then
     Session("Scholarship") = "Summer2011"
End If
...