使用asp.net向导控件时如何验证字段?

时间:2009-05-28 12:27:19

标签: asp.net validation

我的asp.net 2.0项目中有一个向导控件,它包含几个步骤。第二步有一个文本框,附有标准的requiredfieldvalidator控件。当用户单击“下一步”并且该框为空时,验证器会抱怨,一切正常。

但是,当用户使用侧边栏步骤跳到倒数第二步并单击“完成”时,不会触发验证程序,并且文本框为空。在我的后端,我有这个:

    Protected Sub wizard_FinishButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles wizard.FinishButtonClick
        If Page.IsValid Then
            ...
        Else
            lblError.Text = "You missed some fields, please return and enter them"
            e.Cancel = True
        End If
    End Sub

(lblError是整个页面上的标签,但这不是真正的问题)

此代码不起作用...

这个问题的解决方案是什么?移除侧边栏只是不使用它?几乎不是最好的解决方案......

1 个答案:

答案 0 :(得分:0)

这远非完美,但我现在正在使用它作为答案:

    Protected Sub wzrdAddEvent_SideBarButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles wzrdAddEvent.SideBarButtonClick
        If e.NextStepIndex > (e.CurrentStepIndex + 1) Then
            e.Cancel = True
        End If
    End Sub

“如果使用侧边栏步骤,最多只允许前进一步”