2009-06-08 3 views
0

Il y a un bouton d'édition sur la page lors de l'atterrissage dans un panneau de mise à jour. L'utilisateur clique sur le bouton d'édition, l'événement qui se déclenche supprime ce bouton du conteneur et ajoute un bouton de sauvegarde (dans le panneau de mise à jour). Cette fonction attache également un événement au nouveau bouton.L'événement ne se déclenche pas pour un élément qui est ajouté au panneau de mise à jour par le code derrière après la publication

Un nouveau bouton apparaît sur la page mais le fait de cliquer dessus ne déclenche pas l'événement. Évidemment, l'événement ne s'enregistre pas. Il y a probablement une astuce pour que cela se produise dans le panneau de mise à jour mais je ne pouvais pas le comprendre. Est-ce que quelqu'un connaît la réponse?

Merci à l'avance ...

Répondre

2

Lorsque vous ajoutez dynamiquement des contrôles, vous devez les regénère sur chaque postback, autrement les événements ne seront pas tirés.

Vous devez régénérer les contrôles de l'événement page_init.

je le ferai comme ceci:

i) écrire une fonction "generateControl" pour générer le contrôle.

ii) appeler cette fonction lorsque vous voulez générer et un drapeau (une variable publique true)

iii) le contrôle Page_Init si le drapeau est vrai et appeler la fonction « generateControl » si elle est .

+0

Ok, mais comment faire quand je l'ajoute pour la première fois? Cause page_init se déclenchera avant que l'événement qui déclenche le bouton se déclenche. Merci! – eakkas

+0

Je pensais que le page_init se déclenche seulement la première fois que la page est créée et est ignorée sur les publications, mais je suppose que ce n'est pas vrai. Je vais essayer votre suggestion, mais toujours confus avec une chose. Si j'attache ii à un bouton, cet événement ne se déclenchera-t-il pas après page_init pendant la publication et donc le drapeau sera simplement ignoré? – eakkas

+0

Il n'y a rien de mal à ajouter le contrôle après page_init (c'est-à-dire pendant un gestionnaire _click) - mais vous devez être capable de le générer plus tôt pour que le bouton reçoive des publications. –

2

Y a-t-il une raison pour laquelle vous ne pouvez pas avoir les boutons Ajouter et Enregistrer sur la page, avec la propriété Visible du bouton de sauvegarde définie sur false sauf lorsqu'un ajout est en cours? De cette façon, vous pouvez profiter de ViewState (c'est-à-dire que votre bouton gardera la visibilité entre les charges de page) pour un coût très modique.

+0

C'est la solution que j'ai actuellement implémentée mais ça ne sonnait pas bien alors je cherchais une solution plus élégante ... Merci pour l'entrée ... – eakkas

+0

J'aime mieux cette solution que de créer dynamiquement le contrôle. Règles de simplicité! – tekBlues

Questions connexes