Cela devrait être un problème simple à résoudre, car il utilise la même manière que j'ai résolu mon dernier problème avec FooControl (ci-dessous). Fondamentalement, je veux ajouter un validateur dérivé que j'ai fait à ce contrôle composite. Cela fonctionne très bien mais en postback il disparaît juste dans le balisage, me faisant penser qu'il a perdu son ViewState. Je fais probablement quelque chose de mal avec l'instanciation, mais j'ai essayé de ne régler que ControlToValidate, de déplacer les choses, et rien ne fonctionne.Validator disparaît sur le contrôle composite PostBack Inside
J'ai fourni du code pour voir ce qui fonctionne et ce qui ne fonctionne pas.
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
Dans le débogage, les CreateChildControls sont-ils appelés sur PostBack? – BigBlondeViking
Oui, il casse sur PostBack. – kamranicus