Bonjour à tous,Accéder à un contrôle de contenu en C# lors de l'utilisation des pages maîtres
Je construis une page ASP.NET, et l'utilisation des pages maître dans le processus.
J'ai un nom de détenteur de contenu de contenu "cphBody" dans ma page maître, qui contiendra le corps de chaque page pour laquelle cette page maître est la page maître.
Sur la page Web ASP.NET, j'ai un tag Content (référençant "cphBody") qui contient également des contrôles (boutons, contrôles Infragistics, etc.), et je souhaite accéder à ces contrôles dans le fichier CodeBehind. Cependant, je ne peux pas le faire directement (this.myControl ...), car ils sont imbriqués dans la balise Content.
J'ai trouvé une solution de contournement avec la méthode FindControl.
ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder) Master.FindControl("cphBody");
ControlType myControl = (ControlType) contentPlaceHolder.FindControl("ControlName");
Cela fonctionne très bien. Cependant, je soupçonne que ce n'est pas un très bon design. Est-ce que vous connaissez une façon plus élégante de le faire?
Merci!
Guillaume Gervais.
vous essayez d'accéder aux commandes de la page de la codebehind de contenu, ou le code de la page principale derrière? – wulimaster
CodeBehind de la page Contenu. –
C'est bizarre. Vous devriez être en mesure d'accéder directement à vos contrôles depuis le code-behind de votre page de contenu, à moins qu'ils ne soient créés et ajoutés dynamiquement. –