Я работаю с инструментом CreateUserWizard для создания страницы регистрации. Это первый раз, и я сталкиваюсь с проблемой следующего:
Я определил два шага в WizardSteps на странице:
<WizardSteps>
<asp:WizardStep ID="CreateUserWizardStep0" runat="server" Title="Sign Up for your new Account !!">
<asp:TextBox ID="Email" runat="server">
На первом шаге мастера пользователь предоставляет электронную почту, и нам нужно проверить, соответствует ли это письмо определенным критериям (если он существует в нашей внутренней базе данных, страна - США и т. Д.) И имеет ли он / она право перейти к CreateUserWizardStep1.
У меня есть StartNextButton в шаблоне Начальная навигация для WizardStep0.
<StartNavigationTemplate>
<br />
<asp:Button ID="StartNextButton" runat="server" CommandName="MoveNext" OnClick="StartNextButton_Click"
Text="Check My Eligibility" />
</StartNavigationTemplate>
Я выполняю всю логику проверки соответствия в событии post-back OnClick="StartNextButton_Click
. Если он не подходит, я должен отобразить сообщение об ошибке в текстовом поле step0 и запретить переход к CreateUserWizardStep1.
Я попробовал следующее:
if(noteligible)
{
lblError1.Visible = true;
lblError1.Text = this.hfUserAlreadyRegistered.Value.ToString();
this.CreateUserWizard1.ActiveStepIndex = this.CreateUserWizard1.WizardSteps.IndexOf(this.CreateUserWizardStep0);
this.CreateUserWizard1.Controls.Remove(CreateUserWizardStep1);
this.CreateUserWizard1.ActiveStepIndex = 0;
break;
}
Но это не работает. Я вышел из шага 0, а шаг 1 наступает независимо от этого.
Как я могу просто оставаться на шаге 0 и отображать сообщение об ошибке, когда пользователь не имеет права, и переходить к шагу 1 только тогда, когда он имеет право на регистрацию?
Большое спасибо.