2 votes

Comment ajouter des contrôles au programmatically du gestionnaire de contenu de la masterpage

Sur le base.master :

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Base.master.cs" Inherits="WebApplicationControlTest.Base" %>

    Le titre

        Il y a un contenu ici : 

Sur le maître imbriqué

<%@ Master Language="C#" MasterPageFile="~/MasterPages/Base.Master" AutoEventWireup="true" CodeBehind="NestedMasterPageTest2.master.cs" Inherits="WebApplicationControlTest.MasterPages.NestedMasterPageTest2" %>

    C'est à l'intérieur de la NestedPage

et sur le default.aspx

    C'est un test !

sur le default.aspx.cs

protected override void OnPreInit(EventArgs e){
    Control control = LoadControl("TheUrlOfTheControl.ascx");
    if (Page.Master.FindControl("body") != null) {
        Page.Master.FindControl("body").Controls.Add(control);
    }
}

Je dois ajouter le contrôle à la dernière partie du contenu du Placeholder du corps mais FindControl renvoie null... comment pouvons-nous ajouter des contrôles au Placeholder de contenu de la page maître de manière programmative?

Merci

7voto

Jronny Points 546

Répondu pour référence future

protected override void OnPreInit(EventArgs e){
    Control contrôle = LoadControl("TheUrlOfTheControl.ascx");
    Control placeHolderControl = Page.FindControl("body");
    if (placeHolderControl != null) {
        placeHolderControl.Controls.Add(contrôle);
    } else {
        MasterPage laMaster = Page.Master;
        while (laMaster != null) {
            placeHolderControl = laMaster.FindControl("body");
            if (placeHolderControl != null) {
                placeHolderControl.Controls.Add(contrôle);
                break;
            }
            laMaster = laMaster.Master;
        }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X