Je travaille sur un système de commentaire pour un site Web et à chaque publication une page génère un contrôle utilisateur (appelé ucComment) pour chaque commentaire de la base de données relatif à cette page. Chaque ucComment possède un bouton Répondre qui vous permet de répondre à chaque commentaire individuel. J'ai eu un problème avec le bouton Répondre ne faisant rien quand j'ai finalement réalisé que chaque fois qu'un nouveau commentaire a été créé, la prochaine publication, il compenserait tous les ID de contrôle de la page. En d'autres termes, lorsque je clique sur ctl00_Content_ctl00_ctl01_ctl0 _lbtnRespond, que le contrôle serait effectivement généré comme ctl00_Content_ctl00_ctl01_ctl0 _lbtnRespond sur la prochaine publication. Donc, l'événement associé à ctl07 ne se produirait tout simplement pas.fonctionnant autour de la génération d'ID de contrôle ASP.NET 3.5: événements de publication lorsque les contrôles sont créés dans un ordre différent lors des publications suivantes
Tout en fouinant sur le web, j'ai lu sur la redéfinition de l'ID client. Je pensais que si je pouvais nommer les contrôles comme je le voulais, je pourrais contourner mon problème. http://west-wind.com/Weblog/posts/4605.aspx Cela ressemblait à un super hack mais il ne déclenche pas d'événements en raison de la disparité entre l'ID généré sur la page et la façon dont l'ID a été représenté dans l'arborescence de contrôle.
il y a même un gars qui dérive de MasterPage de changer la façon dont l'arbre de commande fonctionne pour obtenir le hack ci-dessus pour travailler pour postbacks: http://www.netquarry.com/index.php/2009/03/master-pages-ajax-and-javascript-10292/ mais je crains qu'il peut y avoir des répercussions incalculables.
Que dois-je faire pour que mon système de commentaires fonctionne de sorte que je puisse répondre à un commentaire spécifique et déclencher l'événement response même si le contrôle est renommé sur cette publication?
wow c'est toi! haha. merci de revenir à moi. En fait, depuis, j'ai décidé de tout changer et de passer à ASP.NET 4.0 et c'est génial de gérer ce problème spécifique. J'ai mis mon ClientIDMode en statique et j'utilise la technique que vous mentionnez dans votre édition. Je trouve que votre travail est impressionnant et c'est génial de travailler pour vous tout ce temps. Merci d'avoir répondu – HaterTot