2009-08-18 7 views
6

Dans le chargement de la page Un contrôle, le Page.Header est null lorsque j'essaie d'ajouter une référence. Y at-il quelque chose de spécial que je dois faire pour ajouter une référence à la tête d'une page d'un contrôle.Ajout d'une référence à l'en-tête à partir d'un contrôle

Peut-être une meilleure façon comme cela est quand est-charge Page.Header ou quand peut-il être accessible à partir d'un contrôle

Répondre

1

Vous pouvez simplement ajouter un gestionnaire d'événements à la page Loaded événement dans l'événement de charge de contrôle et de faire ce que tu veux.

Quelque chose comme ça:

this.Page.LoadComplete += (ObjectSender, ev) => 
    { 
     var mStyle = new Style(); 
     mStyle.BorderWidth = new Unit(5); 
     Page.Header.StyleSheet.CreateStyleRule(mStyle, null, "body"); 
    }; 

ps. J'ai utilisé l'expression lambda pour plus de simplicité.

+0

Page.Header est toujours nul –

+0

Utilisez-vous des pages maîtres? Si c'est le cas, utilisez plutôt l'événement de la page maître. – Cleiton

+0

Parfois, le contrôle d'en-tête est à l'intérieur d'une page maître d'autres fois il est sur la page elle-même, tous les temps page.Header semble être nulle –

16

Assurez-vous de définir votre étiquette de tête runat = "server"

<head runat="server"> 
.. 
</head> 

autrement, la référence à Page.Header sera toujours nulle.

Questions connexes