一个aspx页面,两个跨页面回发

时间:2011-11-10 05:57:49

标签: asp.net webforms cross-page-posting cross-page-postback

方案

我有一个用户可以注册课程的网站,我正在开发一项新功能,允许现有学生使用电子邮件和电子邮件登录。密码并使用之前的详细信息进行注册。

建筑

Register.aspx包含电子邮件和密码文本框,登录按钮和忘记密码按钮。完成电子邮件和密码并单击登录按钮会导致跨页回发到login.aspx页面。单击忘记密码按钮也会导致跨页回发到login.aspx页面。

知道PreviousPage将是Register.aspx页面后面代码的实例,如何区分登录Page_Load中的两个事件(登录/忘记密码)。 aspx页面?

1 个答案:

答案 0 :(得分:0)

为什么不在后面的代码中处理按钮逻辑然后使用transfer?这将是最容易的,因为你有两种方法:

protected Login_Click(...)

protected ForgotPass_Click(...)

当您使用跨页面发布时,您会丢失一些上下文。但是,您可以在控件定义中添加它,例如

<asp:Button runat="server" Text="Login" PostBackUrl="~/login.aspx?cmd=login" />
<asp:Button runat="server" Text="Forgot Password" PostBackUrl="~/login.aspx?cmd=forgot" />

然后您可以这样阅读:

if(Request.Querystring["cmd"]=="forgot")
    ...