我希望允許用戶選擇離開註冊頁面。然而,註冊頁面是帶有RequiredFieldValidators的ASP:嚮導。ASP.NET RequiredFieldValidator不讓我離開asp:嚮導導航
如何解決這個問題,而不刪除RequiredFieldValidators?該向導的「下一步」按鈕似乎是內置於嚮導控件,似乎並沒有讓我應用ValidationGroup屬性,這似乎是處理這種情況的典型方法。
感謝
我希望允許用戶選擇離開註冊頁面。然而,註冊頁面是帶有RequiredFieldValidators的ASP:嚮導。ASP.NET RequiredFieldValidator不讓我離開asp:嚮導導航
如何解決這個問題,而不刪除RequiredFieldValidators?該向導的「下一步」按鈕似乎是內置於嚮導控件,似乎並沒有讓我應用ValidationGroup屬性,這似乎是處理這種情況的典型方法。
感謝
從http://forums.asp.net/p/1022184/1385194.aspx
如何驗證我的嚮導控制步驟搜索一遍又一遍後,我想出了這些解決方案。請記住,每一步都應該有它自己的驗證組。對於這些樣本,我使用「Form」作爲我的驗證組。
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事件中,然後檢查您當前的步驟標識。在參數中使用驗證組驗證頁面後。如果該頁面無效。它取消了事件。
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
你能不能把另一個按鈕標記爲「取消」或「跳過」和CausesValidation屬性設置爲False嚮導之外?
這聽起來是一種可行的解決方案,但會大大減少我試圖創建的精緻用戶界面。 – HaterTot
我遇到了同樣的問題。最初的需求是一種允許用戶遠離ASP.NET嚮導的控制頁面的方式,該頁面通過框架的ValidationGroup
機制實現驗證。在我的情況下,我的Site.master主文件頭中有一個<asp:HyperLink>
控件。
而不是創建嚮導頁面ValidationGroup
與它的嚮導按鈕關聯,我選擇了將其分配到不同的,未使用的ValidationGroup
「排除」我<asp:HyperLink>
控制。
非常感謝。我不敢相信我自己找不到。有用! 有關未來發現此解決方案的任何人的說明:如果您需要覆蓋嚮導按鈕的第一步,請使用。另外,請記住在標記中連接wizRegistration_SideBarButtonClick事件。 –
HaterTot