我的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是整个页面上的标签,但这不是真正的问题)
此代码不起作用...
这个问题的解决方案是什么?移除侧边栏只是不使用它?几乎不是最好的解决方案......
答案 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
“如果使用侧边栏步骤,最多只允许前进一步”