【发布时间】:2009-07-20 21:48:33
【问题描述】:
这应该是一个很容易解决的问题,因为它使用了与我解决 FooControl 的上一个问题相同的方法(如下)。
基本上,我想将我制作的派生验证器添加到此复合控件。它工作正常,但在回发时它只是消失在标记中,让我觉得它失去了 ViewState。
我可能在实例化它时做错了,但我尝试只设置 ControlToValidate,四处移动,但没有任何效果。
我已经提供了一些周边代码来看看哪些是有效的,哪些是无效的。
Private FooControl As IFooControl
Private Validator As MyValidator
Protected Overrides Sub CreateChildControls()
FooControl = FooControlProvider.CreateFooControl(blah)
Me.Controls.Add(FooControl.RetrieveControl())
' Begin Not Working
Validator = New MyValidator()
Me.Controls.Add(Validator)
Validator.ID = "MyValidatorID"
Validator.ControlToValidate = FooControl.ID
Validator.IsRequired = True ' Custom property
Validator.ErrorMessage = "Please select an answer"
' End Not Working
If Not DataSource Is Nothing Then
FooControlProvider.AssignDataSource(DataSource, FooControl)
End If
End Sub
【问题讨论】:
-
在调试中,是否会在 PostBack 上调用 CreateChildControls?
标签: asp.net vb.net validation composite-controls