Одна страница aspx, два постбэка между страницами
сценарий
У меня есть сайт, где пользователи могут зарегистрироваться на курс, я разрабатываю новую функцию, позволяющую существующим студентам войти в систему с помощью электронной почты и пароля и зарегистрироваться, используя свои предыдущие данные.
Архитектура
Register.aspx содержит текстовое поле электронной почты и пароля, кнопку входа и кнопку забытого пароля. Заполнение адреса электронной почты и пароля и нажатие кнопки входа приводит к межстраничной обратной передаче на страницу login.aspx. Нажатие на кнопку забытого пароля также приводит к межстраничной обратной передаче на страницу login.aspx.
Знаю это PreviousPage
будет экземпляром кода для класса на странице Register.aspx, как я могу различить два события (Логин / Забыли пароль) в Page_Load
для страницы Login.aspx?
1 ответ
Почему бы не обработать логику кнопок в коде, а затем использовать перенос? Это будет проще всего, так как у вас есть два метода:
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")
...