我正在使用 CreateUserWizard 工具来创建注册页面。这是第一次,我遇到以下问题:
我在页面的 WizardSteps 中定义了两个步骤:
<WizardSteps>
<asp:WizardStep ID="CreateUserWizardStep0" runat="server" Title="Sign Up for your new Account !!">
<asp:TextBox ID="Email" runat="server">
在向导的第一个步骤中,用户提供电子邮件,我们需要检查此电子邮件是否符合某些条件(如果他存在于我们的内部数据库中,国家是美国等)以及他/她是否有资格导航到 CreateUserWizardStep1。
我在 WizardStep0 的开始导航模板中有一个 StartNextButton。
<StartNavigationTemplate>
<br />
<asp:Button ID="StartNextButton" runat="server" CommandName="MoveNext" OnClick="StartNextButton_Click"
Text="Check My Eligibility" />
</StartNavigationTemplate>
我在回发事件中执行所有检查资格的逻辑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;
}
但这不起作用。我被带出 step0 并且 step1 无论如何都会到来。
我怎样才能留在 Step0 并在用户不符合条件时显示错误消息,并且只有在他有资格注册时才导航到 Step1 ?
非常感谢。