2009-08-11 121 views
0

我有PageA与一些控件(txtFooBar),并且PostBackUrl设置为PageB的按钮。CrossPagePostBack与表单身份验证

在网页B我可以写

Page.PreviousPage.FindControl("txtFooBar") 

,并在我的价值得到。

现在假设我使用表单身份验证,并且PageB受保护,并且我最初未登录,因此当我按PageA上的按钮时,我转到登录页面,并在登录后前往PageB 。

现在,Page.PreviousPage为空。

有没有什么办法可以从PageA中获取值?我试图避免在这里使用Session对象来管理状态,因为我需要应用程序具有高度可伸缩性,并且宁愿避免会话关联。

回答

2

它是由登录页面重定向导致的,而PreviousPage仅支持POST。 所以审查以下方面:

  • 创建页面中的登录就地控制,使用户可以在登录不重定向
  • 创建自己的登录表单,那不是重定向使用Server.Transfer的网页B(注认证用户只需要FormsAuthentication.SetAuthCookie)