Accéder à un contrôle de contenu en C# lors de l'utilisation des Pages Maîtres

Bonne journée à tous,

Je suis la construction d'une page dans ASP.NET et l'aide de Pages Maîtres dans le processus.

J'ai un Contenu Place de Titulaire nom "cphBody" dans ma Page principale, qui va contenir le corps de chaque Page pour laquelle cette Page est la Page Maître.

Dans le ASP.NET page Web, j'ai une balise de Contenu (faisant référence à "cphBody") qui contient aussi quelques contrôles (boutons, Infragistics commandes, etc.), et je veux accéder à ces commandes dans le fichier Code-behind. Cependant, je ne peux pas le faire directement (ce.myControl ...), car ils sont imbriqués dans la balise de Contenu.

J'ai trouvé une solution avec la méthode FindControl.

ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder) Master.FindControl("cphBody");
ControlType myControl = (ControlType) contentPlaceHolder.FindControl("ControlName");

Qui fonctionne très bien. Cependant, je suis à soupçonner que ce n'est pas une très bonne conception. Avez-vous les gars savent d'une façon plus élégante de le faire?

Merci!

Guillaume Gervais.

  • Essayez-vous d'accéder au contrôle du contenu de la page code-behind, ou le master code de la page de derrière?
  • Le Contenu de la page Code-behind.
  • C'est bizarre. Vous devriez être en mesure d'accéder directement vos commandes à partir de votre contenu de la page code-behind, à moins qu'ils sont créés de manière dynamique et ajouté.