これは、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