5
A
回答
3
您可以在您的UserControl中公開您將從頁面設置的屬性ValidationGroup
。此值應存儲在ViewState中,以便UserControl的每個實例都將獲得不同的ValidationGroups(如果您的頁面分配不同)。
例如:
Public Property ValidationGroup() As String
Get
Return CStr(ViewState("ValidationGroup"))
End Get
Set(ByVal value As String)
SetValidationGroupOnChildren(Me, value)
ViewState("ValidationGroup") = value
End Set
End Property
Private Sub SetValidationGroupOnChildren(ByVal parent As Control, ByVal validationGroup As String)
For Each ctrl As Control In parent.Controls
If TypeOf ctrl Is BaseValidator Then
CType(ctrl, BaseValidator).ValidationGroup = validationGroup
ElseIf TypeOf ctrl Is IButtonControl Then
CType(ctrl, IButtonControl).ValidationGroup = validationGroup
ElseIf ctrl.HasControls() And ctrl.Visible = True Then
SetValidationGroupOnChildren(ctrl, validationGroup)
End If
Next
End Sub
- http://www.craigwardman.com/blog/index.php/2009/05/setting-a-validation-group-on-a-user-control/
- http://justgeeks.blogspot.com/2009/09/be-careful-using-hard-coded.html
如果您在用戶控件需要不同的ValidationGroups上述遞歸函數將無法正常工作,那麼你可以手動指定它從代碼隱藏。例如,通過將UserControl的ID(可能就足夠了)或ClientID放在相應控件的ValidationGroup屬性前面。你可以稱之爲功能的好地方是PreRender
。
+0
你是男人! – Burt
7
此方法也適用:
Dim valGroup = String.format("{0}-validation", Guid.NewGuid())
rfv001.ValidationGroup = valGroup
rfv002.ValidationGroup = valGroup
rfv003.ValidationGroup = valGroup
rfv004.ValidationGroup = valGroup
rfv005.ValidationGroup = valGroup
btnSubmit.ValidationGroup = valGroup
您只需要爲手動ValidationGroup
設置的值。
+0
我更喜歡這個解決方案。謝謝 – kaiyaq
相關問題
- 1. 驗證控制器問題
- 2. XAML用戶控制驗證
- 3. asp.net驗證器控制問題
- 4. 驗證控制中的格式問題
- 5. asp.net登錄控制驗證問題
- 6. 家長用戶控制驗證從子用戶控制ASP.Net
- 7. ASP用戶控制問題
- 8. 用戶控制問題
- 9. 用戶控制問題
- 10. 驗證組件問題
- 11. 如何控制ASP.NET驗證程序控件客戶端驗證
- 12. JsonWebToken用戶身份驗證問題
- 13. 用戶輸入驗證有問題
- 14. 訪問驗證摘要即外網用戶控制
- 15. CakePHP驗證與用戶問題以外的驗證表
- 16. Silveright用戶控件驗證
- 17. C#用戶控件驗證
- 18. 驗證碼驗證問題
- 19. 控制數組的javascript驗證
- 20. 驗證問題
- 21. 驗證問題
- 22. 驗證問題
- 23. 驗證問題
- 24. 驗證問題
- 25. 驗證問題?
- 26. 驗證問題
- 27. 控制Eclipse驗證
- 28. JavaScript驗證控制
- 29. 驗證用戶輔助組
- 30. 驗證用戶在定製控制器中使用設計
你能告訴我們你的代碼嗎? – Teletha