Question

J'ai un contrôle personnalisé qui implémente IPostBackEventHandler.Certains événements côté client appellent __doPostBack(controlID, eventArgs).

Le contrôle est implémenté dans deux contrôles utilisateur différents.Dans un contrôle, RaisePostBackEvent est déclenché côté serveur lorsque __doPostBack est invoqué.Dans l'autre contrôle, RaisePostBackEvent n'est jamais invoqué.j'ai vérifié le __EVENTTARGET paramètre et il correspond au ClientID du contrôle...où puis-je chercher à résoudre ce problème ?

Était-ce utile?

La solution

Il y a de nombreuses façons dont cela peut s'effondrer.Ajoutez-vous le contrôle à la page de manière dynamique dans le code derrière ?Si c'est le cas, votre UniqueID peut souvent être désactivé, même si les identifiants client sont égaux.Avez-vous un exemple de code qui pourrait démontrer ce que vous faites ?

Autres conseils

Vérifiez qu'il s'agit bien d'une dérivation de la classe UserControl, et non de celle de WebControl.
Celui-ci m’a surpris à plusieurs reprises.Si vous devez utiliser WebControl pour le style, vous devez laisser votre contrôle implémenter INamingContainer.(Ne vous inquiétez pas, c'est une interface de marqueur)

Donc..

public class MyControl : UserControl {}

Ou

public class MyControl : WebControl, INamingContainer {}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top