ASP.Net: FindControl wirkt nicht



  • Servus,

    folgender Quelltext funktioniert:

    protected override void CreateChildControls()
            {
                if (MakeNewEntry)
                {
                }
                else
                {
                    CheckTemplates();
                    // Loads template and sets everything
    
                    Controls.Clear();
    
                    WebControl oPlaceHolder = new GuestbookControlPlaceholder();
    
                    ListHeader.InstantiateIn(oPlaceHolder);
    
                    foreach (Control oControl in oPlaceHolder.Controls)
                    {
                        if (oControl.ID != "NewEntryButton")
                        {
                            continue;
                        }
                        if (oControl is IButtonControl)
                        {
                            ((IButtonControl)oControl).Click += new EventHandler(NewEntry_Click);
                        }
                    }
    
                    this.Controls.Add(oPlaceHolder);                
                }
    

    folgender aber nicht:

    protected override void CreateChildControls()
            {
                if (MakeNewEntry)
                {
                }
                else
                {
                    CheckTemplates();
                    // Loads template and sets everything
    
                    Controls.Clear();
    
                    WebControl oPlaceHolder = new GuestbookControlPlaceholder();
    
                    ListHeader.InstantiateIn(oPlaceHolder);
    
                    Control oControl = oPlaceHolder.FindControl ( "NewEntryButton" );
                    if (oControl is IButtonControl)
                    {
                        ((IButtonControl)oControl).Click += new EventHandler(NewEntry_Click);
                    }
    
                    this.Controls.Add(oPlaceHolder);                
                }
    

    oControl ist leider null, obwohl dieses Objekt in dem Placeholder existiert.

    Vielen Dank für jede Hilfestellung,
    Das Lichtkind


Anmelden zum Antworten