Publié
lundi 10 novembre 2008 15:17
par
Luke77
Aujourd'hui j'ai été confronté à un un petit problème. En voici un résumé :
J'ai une MasterPage qui présente deux ContentPlaceHolder : SideContent et MainContent. Dans le SideContent se trouvent tous mes contrôles qui vont me servir à effectuer des filtres dans une recherche. Dans le MainContent, j'ai un GridView ainsi qu'un ObjectDataSource qui vont servir à afficher les résultats après application de mes filtres. Afin d'informer mon ObjectDataSource que les résultats doivent tenir compte de la valeur de certains contrôles, j'y rajoute des ControlParameter.
Jusque là rien de bien particulier dans l'utilisation de l'ObjectDataSource, je l'ai déjà fait plusieurs fois sans aucun problème. Mais ce coup-ci j'obtiens une erreur m'indiquant qu'il ne trouve pas mes contrôles dans la page. Avec un petit coup de Reflector je comprends mieux pourquoi il ne trouve pas mon contrôle mais reste un peu sur ma faim jusqu'à ce que je tombe sur un article de Cyril traitant justement de la méthode FindControl utilisée par le ControlParameter.
Et là je suis sauvé, j'y ai découvert (je n'y avais jamais été confronté jusque là) que l'on pouvait nommer les ID des contrôles en y incorporant les parents. Ainsi au lien de seulement spécifier ControlID="txtMessage" on peut préciser ControlID="SideContent:txtMessage".
Alors c'est pas grand chose, mais je suis content d'avoir appris ça aujourd'hui, et j'espère que ça servira aussi à des potentielles âmes perdues sur le net.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :