我希望允许用户选择离开注册页面。然而,注册页面是一个带有RequiredFieldValidators 的ASP:Wizard。
如何在不删除 RequiredFieldValidators 的情况下解决此问题?向导的“下一步”按钮似乎内置在向导控件中,似乎不允许我应用 ValidationGroup 属性,这似乎是处理这种情况的典型方法。
谢谢
我希望允许用户选择离开注册页面。然而,注册页面是一个带有RequiredFieldValidators 的ASP:Wizard。
如何在不删除 RequiredFieldValidators 的情况下解决此问题?向导的“下一步”按钮似乎内置在向导控件中,似乎不允许我应用 ValidationGroup 属性,这似乎是处理这种情况的典型方法。
谢谢
来自http://forums.asp.net/p/1022184/1385194.aspx
在反复搜索如何验证我的向导控制步骤之后,我想出了这些解决方案。请记住,每个步骤都应该有自己的验证组。对于这些示例,我使用“表单”作为我的验证组。
1) 验证下一个按钮点击。对于这个,我只需使用 2 asp:Button 覆盖向导控件自动生成的上一个和下一个按钮。然后将原因验证设置为 true 并分配一个验证组。请注意,重要的部分在 CommandName 部分。
<StepNavigationTemplate >
<asp:Button ID="btnPrevious" runat="server" CssClass="WizardControlButton" Text="Previous" CommandName="MovePrevious" />
<asp:Button ID="btnNext" runat="server" CssClass="WizardControlButton" CommandName="MoveNext" Text="Next" CausesValidation="true" ValidationGroup="Form" />
</StepNavigationTemplate>
2)侧边栏点击验证 这也很简单。您在控件的 SideBarButtonClick 事件中添加代码,然后检查当前的步骤 ID。在它使用参数中的验证组验证页面之后。如果页面无效。它取消事件。
Protected Sub wizRegistration_SideBarButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles wizRegistration.SideBarButtonClick
If wizRegistration.ActiveStep.ID = "wizSelectPostalCode" AndAlso e.NextStepIndex > e.CurrentStepIndex Then
Page.Validate("Form")
If Not Page.IsValid() Then
e.Cancel = True
End If
End If
End Sub
我遇到了同样的问题。最初的需要是一种允许用户导航离开通过框架ValidationGroup
机制实现验证的 ASP.NET 向导控制页面的方法。就我而言,我在<asp:HyperLink>
我的 Site.master 主文件的标题中有一个控件。
我没有为向导页面创建一个ValidationGroup
并将向导按钮与其关联,而是选择<asp:HyperLink>
通过将控件分配给不同的未使用的ValidationGroup
.
您能否在向导之外放置另一个标记为“取消”或“跳过”的按钮,并将 CausesValidation 属性设置为 False?