CrosspagePostBack с аутентификацией форм

У меня есть PageA с некоторыми элементами управления (txtFooBar) и кнопкой с PostBackUrl, установленной на PageB.

На странице B я могу написать

Page.PreviousPage.FindControl("txtFooBar")

и получить на мои значения.

Теперь предположим, что я использую аутентификацию с помощью форм, а страница B защищена, и я изначально не вошел в систему, поэтому, когда я нажимаю кнопку на странице A, я перехожу на страницу входа и перехожу на страницу B после входа в систему.

Теперь Page.PreviousPage имеет значение null.

Есть ли способ получить значения из PageA? Я пытаюсь избежать использования объекта Session для управления состоянием здесь, так как мне нужно, чтобы приложение было хорошо масштабируемым, и я бы предпочел избежать привязки к сеансу.


person Ben Curthoys    schedule 11.08.2009    source источник


Ответы (1)


Это вызвано перенаправлением со страницы входа, в то время как PreviousPage поддерживается только через POST. Итак, просмотрите следующие способы:

  • создать элемент управления входом на месте на странице A, чтобы пользователь мог войти в систему без перенаправления
  • создайте свою собственную форму входа, которая вместо перенаправления использует Server.Transfer на страницу B (обратите внимание, что для аутентификации пользователя требуется только FormsAuthentication.SetAuthCookie)
person Dewfy    schedule 11.08.2009