ユーザーが登録ページから移動できるようにしたいのですが。ただし、登録ページは、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に設定できますか?