Asp.net Usercontrol LoadControl Problème

Je rencontre un problème lors de l'utilisation de LoadControl( type, Params ). Laissez-moi vous expliquer...

J'ai une super simple de contrôle de l'utilisateur (ascx)

<%@ Control Language="C#" AutoEventWireup="True" Inherits="ErrorDisplay" Codebehind="ErrorDisplay.ascx.cs" EnableViewState="false" %>

<asp:Label runat="server" ID="lblTitle" />
<asp:Label runat="server" ID="lblDescription" />

avec le code ( c# ) derrière:

public partial class ErrorDisplay : System.Web.UI.UserControl
{

    private Message _ErrorMessage;    

    public ErrorDisplay()
    {
    }

    public ErrorDisplay(Message ErrorMessage)
    {
        _ErrorMessage = ErrorMessage;
    }    

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        if (_ErrorMessage != null)
        {
            lblTitle.Text = _ErrorMessage.Message;
            lblDescription.Text = _ErrorMessage.Description;
        }
    }
}

Ailleurs dans mon application web, je suis l'ajout d'une instance de l'objet usercontrol à la page en utilisant le code suivant:

divValidationIssues.Controls.Add(LoadControl(typeof(ErrorDisplay), new object[] { MessageDetails }));   

Je suis l'aide de la version surchargée de LoadControl parce que je veux passer le Message en paramètre du constructeur. Tout cela apparaît de travailler sur ok.

Toutefois, lorsque le OnPreRender() est tiré sur le ErrorDisplay usercontrol la lblTitle et lblDescription variables sont à la fois null, bien qu'ils aient une majoration équivalente. La variable message a été correctement remplie.

Quelqu'un peut nous donner un indice sur le pourquoi de ce qui pourrait se passer?

Grâce

EDIT:

Juste pour plus de clarté je vais aussi ajouter que le code qui est en programmant l'ajout de l'objet usercontrol à la page est en cours d'exécution en réponse à la pression d'un bouton, de sorte que le "hébergement de la page" a progressé grâce à l'Init, Page_Load et est maintenant le traitement de l'gestionnaires d'événements.

Je ne peux pas ajouter les usercontrols plus tôt asp étape du cycle de vie, car ils sont créés en réponse à un événement de clic de bouton.

OriginalL'auteur Ash | 2008-10-27