1
これは、FooControl(下記)で最後の問題を修正したのと同じ方法を使用するので、修正するのは簡単な問題です。Validatorがコンポジットコントロール内のPostBackで消える
基本的に、私はこの複合コントロールに派生したバリデーターを追加したいと思います。それはうまくいきますが、ポストバックでマークアップ内に消えるだけで、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
デバッグでは、CreateChildControlsがPostBackで呼び出されますか? – BigBlondeViking
はい、それはポストバックで壊れます。 – kamranicus