带有表单身份验证的 CrosspagePostBack

发布于 2024-07-30 13:47:51 字数 398 浏览 2 评论 0原文

我的 PageA 上有一些控件 (txtFooBar),还有一个将 PostBackUrl 设置为 PageB 的按钮。

在 PageB 中我可以书写

Page.PreviousPage.FindControl("txtFooBar")

并获得我的价值观。

现在假设我正在使用表单身份验证,并且 PageB 受到保护,并且我最初没有登录,因此当我按下 PageA 上的按钮时,我会转到登录页面,登录后继续转到 PageB。

现在,Page .PreviousPage 为空。

有什么方法可以获取 PageA 中的值吗? 我试图避免使用 Session 对象来管理此处的状态,因为我需要应用程序具有高度可扩展性,并且更愿意避免会话关联。

I have PageA with some controls (txtFooBar) on it, and a button with PostBackUrl set to PageB.

In PageB I can write

Page.PreviousPage.FindControl("txtFooBar")

and get at my values.

Now suppose I am using forms authentication, and PageB is protected, and I'm not initially logged in, so when I press the button on PageA I go to the login page, and proceed to PageB once I am logged in.

Now, Page.PreviousPage is null.

Is there any way I can get at the values from PageA? I am trying to avoid using the Session object to manage state here, as I need the application to be highly scalable and would prefer to avoid session affinity.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

跨年 2024-08-06 13:47:51

这是由登录页面重定向引起的,而 PreviousPage 仅支持 POST。
因此,请检查以下方法:

  • 在页面 A 上创建就地登录控件,以便用户无需重定向即可登录
  • 创建自己的登录表单,而不是使用 Server.Transfer 重定向到 pageB(请注意,仅需要 FormsAuthentication.SetAuthCookie 即可对用户进行身份验证)

It is caused by redirect from login page, while PreviousPage supported only over POST.
So review following ways:

  • create inplace login control on the page A, so user could be logged in without redirect
  • create your own login form, that instead of redirect uses Server.Transfer to pageB (note that to auth user only FormsAuthentication.SetAuthCookie is needed)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文