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 :
Donc en gros que des ContentPlaceHolder qui font référence à ceux placés dans la MasterPage.
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>
Dans mon CodeBehind j'ai mis cela :
Le truc est simple : si la QueryString est comme cela, il faut afficher une Label qui dit que le site est en maintenance.
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); } }
Mais à l'éxécution de la page il me dit :
Sur la ligne qui fait le Controls.Add.La référence d'objet n'est pas définie à une instance d'un objet.
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 ?
Partager