Si vous implémentez votre propre contrôle, ou vous réutilisez un contrôle du cadre, vous pourriez envisager redéfinissant la méthode CreateChildControls
Dans le cas où vous écrivez votre propre contrôle, vous le feriez simplement:
protected override void CreateChildControls() {
// Add a LiteralControl to the current ControlCollection.
this.Controls.Add(new LiteralControl("<p>New Child Control!</p>"));
ChildControlsCreated = true;
}
Dans le cas où vous réutilisez un contrôle de quelqu'un d'autre, à condition qu'il soit disponible pour des raisons impérieuses, vous pouvez faire quelque chose comme:
public MyControl : SomeControl
{
protected override void CreateChildControls() {
base.CreateChildControls();
ChildControlsCreated = true;
}
}
Notez que dans les deux cas, vous contrôlez maintenant lorsque ChildControlsCreated est défini. Vous pouvez donc étendre ce concept à l'ajout d'un événement à votre implémentation de contrôle, qui serait déclenché lorsque vous définissez la valeur, en laissant savoir à tout abonné que des contrôles enfants ont été créés.
Essayez de sortir la valeur de 'ChildControlsCreated'. En outre, utilisez un '!' Avant 'tempControl.ChildControlsCreated' au lieu de' == false'. –
Que voulez-vous faire exactement? – Saint