Bonjour à tous.

Je me trouve confronté à un problème basique mais j'ai du mal à comprendre où je me suis planté n'étant aps encire trés familier avec la syntaxe du C# (parce que je crois que le problème vient de là).

Donc j'ai une page avec ce code côté HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" MasterPageFile="~/MasterPage/Default.master" EnableEventValidation="false" Culture="fr-FR" EnableViewState="true" %>
<asp:Content ID="cHeader" runat="server" ContentPlaceHolderID="cphHeader"></asp:Content>
<asp:Content ID="cEntete" ContentPlaceHolderID="cphEnTete" Runat="Server"></asp:Content>
<asp:Content ID="cGauche" ContentPlaceHolderID="cphGauche" Runat="Server"></asp:Content>
<asp:Content ID="cCentral" ContentPlaceHolderID="cphCentral" Runat="Server"></asp:Content>
<asp:Content ID="cDroite" ContentPlaceHolderID="cphDroite" Runat="Server"></asp:Content>
<asp:Content ID="CPied" ContentPlaceHolderID="cphPied" Runat="Server"></asp:Content>
Donc en gros que des ContentPlaceHolder qui font référence à ceux placés dans la MasterPage.

Dans mon CodeBehind j'ai mis cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
protected void Page_Init(object sender, EventArgs e)
    {
        if (Request.QueryString["valhalla"] == "loki")
        {
            Label lblMaintenance = new Label();
            lblMaintenance.Text = "Le site est actuellement en maintenance. Veuilez nous excuser pour la gêne occasionnée";
            this.Page.FindControl("cCentral").Controls.Add(lblMaintenance);
        }
}
Le truc est simple : si la QueryString est comme cela, il faut afficher une Label qui dit que le site est en maintenance.
Mais à l'éxécution de la page il me dit :
La référence d'objet n'est pas définie à une instance d'un objet.
Sur la ligne qui fait le Controls.Add.

Alors deux choses :
- j'ai du mal à comprendre où il veut que je fasse un new puisque le ContentPlaceHolder est dans la page, côté HTML
- je n'ai pas réussi à y accéder directement au ContentPlaceHolder, en tapant son identifiant.

Aurais je loupé un détail ?