1

.NET 2.0 で WizardControl を使用しています。次のボタンがクリックされた最初のステップ (StepType="Start" に設定されている) で、サーバー側の検証コードを実行します。でも、何をしても次のステップに進みます。これが私のコードです:

    Protected Sub Wizard1_NextButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.NextButtonClick

    Dim oUser As New BE.User

    Select Case Wizard1.ActiveStepIndex

        Case 0

            If Membership.FindUsersByName(UserName.Text).Count = 0 Then

                oUser.UserName = UserName.Text
                oUser.Password = Password.Text
                oUser.Email = Email.Text

                Wizard1.ActiveStepIndex = 1
            Else
                Wizard1.ActiveStepIndex = 0
                ErrorMessage.Text = "user name already in use"
            End If
        Case 1

        Case 2


    End Select
End Sub
4

3 に答える 3

4

e.Cancel=true 任意のウィザード イベントで作業している場合は、書き込むことができます。ここで「e」はエイリアスですWizardNavigationEventArgs

于 2011-09-03T06:30:51.417 に答える
1

Wizard コントロールのNextButtonClickイベントには、現在の次のナビゲーション操作をキャンセルするプロパティ help をWizardNavigationEventArgs含む " " パラメータがあります。"Cancel"

の礼儀

スティーブン チェン マイクロソフト オンライン サポート

于 2009-08-13T13:41:59.233 に答える
1

Cancel他の人が述べたように、のプロパティを使用できますWizardNavigationEventArgs。それを反映するように更新されたコードは次のとおりです。

Protected Sub Wizard1_NextButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.NextButtonClick

    Dim oUser As New BE.User

    Select Case Wizard1.ActiveStepIndex
        Case 0
            If Membership.FindUsersByName(UserName.Text).Count = 0 Then
                oUser.UserName = UserName.Text
                oUser.Password = Password.Text
                oUser.Email = Email.Text

                Wizard1.ActiveStepIndex = 1
            Else
                Wizard1.ActiveStepIndex = 0
                ErrorMessage.Text = "user name already in use"
                ' Set the Cancel property to True here
                e.Cancel = True
            End If
        Case 1

        Case 2

    End Select
End Sub
于 2011-09-03T07:44:37.300 に答える