2009-04-08 6 views

Répondre

1

Page_Load est bon pour modifier les paramètres de contrôle.

EDIT: Ce code testé et fonctionne:

// in page_load event : 
validator.ControlToValidate = textboxToValidate.ID; 

Mais si vous générez vos validateurs après un événement dynamique, problème pourrait être différent.

+0

chargement de la page ne semble pas fonctionner pour moi, est-il pas trop tard dans le cycle de vie de la page? – Blankman

+0

non c'est l'endroit commun pour définir les propriétés, laissez-moi le tester, je vais écrire le résultat. – Canavar

+0

Vous pouvez ajouter un contrôle à tout moment. Vous avez juste besoin de vous assurer que la hiérarchie de contrôle est la même lors des publications ultérieures. – Daniel

1

Cela dépend de la raison pour laquelle vous devez l'ajouter. Si c'est toujours le cas, alors OnInit est un bon endroit.

Si vous devez l'ajouter seulement après qu'une action s'est produite, alors vous voulez le faire après que LoadViewState a été appelé afin que vous puissiez continuer à l'ajouter une fois que vous l'avez ajouté la première fois. Pour la première fois, vous aurez probablement envie de le faire à cause d'un événement post-retour, vous pouvez donc l'ajouter dans votre gestionnaire d'événements.

Je suggère d'ajouter un espace réservé au contrôle à l'endroit où vous voulez ce contrôle. Ensuite, vous ajoutez le contrôle lorsque cela est nécessaire. Vous devez ensuite stocker des informations dans ViewState pour savoir que vous avez ajouté le contrôle. Vous pouvez ensuite remplacer LoadViewState et ajouter le contrôle là si nécessaire.

Si vous avez besoin validateur que si le contrôle est chargé avec certaines données, vous ajoutez juste après que les données ont été chargées, que ce soit OnLoad ou un accesseur de propriété.

Questions connexes