Dies sollte ein einfaches Problem sein, da es die gleiche Art und Weise verwendet, wie ich mein letztes Problem mit FooControl (unten) behoben habe.Validator verschwindet auf PostBack Inside Composite Control
Grundsätzlich möchte ich einen abgeleiteten Validator hinzufügen, den ich zu diesem zusammengesetzten Steuerelement gemacht habe. Es funktioniert gut, aber beim Postback verschwindet es einfach im Markup und lässt mich denken, dass es seinen ViewState verloren hat.
Ich mache wahrscheinlich etwas falsch mit der Instantiierung, aber ich habe versucht, nur die ControlToValidate, Dinge bewegen, und nichts funktioniert.
Ich habe einige Umgebungscode zur Verfügung gestellt, um zu sehen, was funktioniert und was nicht.
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
Wird beim Debuggen die CreateChildControls auf PostBack aufgerufen? – BigBlondeViking
Ja, es bricht PostBack. – kamranicus