我正在使用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;
}
但这不起作用。我被带出了第0步,第1步即将到来。
如何在用户不符合条件时保留在Step0中并显示错误消息,并且只有在他有资格注册时才导航到Step1?
非常感谢。
答案 0 :(得分:1)
尝试:
this.CreateUserWizard1.ActiveStepIndex = -1;