De http://forums.asp.net/p/1022184/1385194.aspx
Après une recherche à plusieurs reprises sur la façon de valider mes étapes de contrôle de l'assistant, je suis venu avec ces solutions. N'oubliez pas que chaque étape doit avoir son propre groupe de validation. Pour ces exemples, j'utilise "Form" comme groupe de validation.
1) Validation sur le bouton suivant. Pour celui-ci, je remplace simplement les boutons Précédent et Suivant générés par le contrôle Wizard en utilisant 2 asp: Button. Vous définissez ensuite la validation de cause sur true et vous affectez un groupe de validation. Notez que la partie importante est dans la section 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) Validation sur la barre latérale cliquez Celui-ci est aussi simple. Vous ajoutez le code dans l'événement SideBarButtonClick de votre contrôle, puis vous vérifiez l'ID de l'étape que vous êtes actuellement. Après il valide la page avec le groupe de validation dans les paramètres. Si la page n'est pas valide Il annule l'événement.
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
merci beaucoup. Je ne peux pas croire que je ne pouvais pas le trouver moi-même. Ça marche! Remarques à tous ceux qui trouvent cette solution dans le futur: si vous devez remplacer la première étape du bouton de votre assistant, utilisez. N'oubliez pas de câbler l'événement wizRegistration_SideBarButtonClick dans votre tag . –
HaterTot