2010-07-28 8 views
0

J'ai un contrôle personnalisé dans une page ASPX qui a une propriété nommée Taillepropriété d'un UserControl personnalisé qui est enregistré dans l'état d'affichage perd sa valeur

public int Size 
{ 
    get { return Convert.ToInt32(ViewState["CreativeSize"]); } 
    set { ViewState["CreativeSize"] = value; } 
} 

Cette propriété est définie dans la page ASPX à une valeur permet disons 500 pendant un postback appelé par un contrôle Button qui se trouve dans la page (pas dans le contrôle personnalisé).

J'ai aussi un bouton dans le contrôle personnalisé qui soulève un postback comme celui-ci

protected void btnUpload_Click(object sender, EventArgs e) 
{ 
    if (fuBannerfile.HasFile) 
     if (fuBannerfile.FileContent.Length/1024 > this.Size) 
      ;//code here not important 
} 

Lorsque cet événement est appelé la propriété « this.Size » est 0. J'ai aussi remarqué pendant le débogage que lors de Page_Load la page, si j'accéder à la propriété comme ceci:

int size = customControlId.Size; 

la propriété est définie sur 500. Mais après que lorsque le débogueur atteint l'événement dans le contrôle de la propriété est 0.

Une idée de ce qui se passe ou de ce qui pourrait en être la cause?

+0

Avez-vous du code d'initialisation dans votre contrôle personnalisé qui définit la propriété 'Size'? –

+0

Aucun code d'initialisation pour la définition de la propriété, je l'ai seulement défini à l'extérieur du contrôle. – Atzoya

Répondre

0

Juste découvert quel est le problème.

J'ai 5 des mêmes contrôles dans la même page, et j'ai définir la propriété Taille du mauvais contrôle ....

ne peux pas croire que j'ai perdu 2 heures à ce sujet.

Questions connexes