2010-04-14 3 views
1

J'ai une classe qui hérite de la page, appelée APage.Asp Aspx page net et webcontrol problème

public abstract class APage: Page 
{ 
    protected Repeater ExampleRepeater; 
    .... 
    protected override void OnLoad(EventArgs e) 
    { 
     if (null != ExampleRepeater) 
     { 
       ExampleRepeater.DataSource = GetData(); 
       ExampleRepeater.DataBind(); 
     } 
     base.OnLoad(e); 
    } 
} 

Pour d'autre part j'ai une page ASPX appelée par défaut qui hérite de cette APAGE:

public partial class Default : APage 
{ 

} 

de la part de la conception de cette page par défaut, j'ai un répéteur:

<asp:Repeater ID="ExampleRepeater" runat="server"> 
    <ItemTemplate> 
     <%# DataBinder.Eval(Container.DataItem, "Name") %><br/> 
    </ItemTemplate> 
</asp:Repeater> 

Ce répéteur est fourni par l'événement de chargement de base APage, mais à ce niveau, ce contrôle Web est nul.

Avez-vous une idée de la raison pour laquelle le contrôle est null dans la page de base?

Merci d'avance.

Cordialement.

Jose.

Répondre

2

attention à la vie du cycle de page:

http://msdn.microsoft.com/en-us/library/ms178472.aspx

Chaque contrôle est chargé après la page événement Load, il est donc pas bon d'effectuer des opérations de liaison à ce stade. Vous feriez mieux de faire cette opération pendant PreRender.