2010-05-04 42 views
0

我正在使用CreateUserWizard工具創建註冊頁面。這是第一次,我與遇到的問題如下:防止在Nextbutton的Postback事件中導航到CreateUserWizardStep

我定義了兩個步驟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?

非常感謝。

回答

1

嘗試:

this.CreateUserWizard1.ActiveStepIndex = -1;