Запретить переход к CreateUserWizardStep в событии обратной передачи следующей кнопки - PullRequest
0 голосов
/ 04 мая 2010

Я работаю с инструментом 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 только тогда, когда он имеет право на регистрацию?

Большое спасибо.

1 Ответ

1 голос
/ 07 июня 2010

ПОПРОБУЙТЕ:

this.CreateUserWizard1.ActiveStepIndex = -1;
...