2009-09-15 7 views
1

Je pense que je pourrais en connaître la cause, mais pas comment le réparer sans beaucoup de réécriture de code (que je préfère éviter).Le conteneur de nommage n'est pas "mis" dans les extensions

Je

public class datecontrol : basecontrol 
{ 
    private ImageButton _ImageButton; 
    private TextBox _EditControl; 
private CalendarExtender _CalendarExtender; 
.... 
    public datecontrol{ 
     _ImageButton=new ImageButton(); 
     _EditControl=new TextBox(); 
     _CalendarExtender=new CalendarExtender(); 
     ..... 
     _CalendarExtender.TargetControlID=_EditControl.ID; 
    } 
} 

et

public class basecontrol : Panel,INamingContainer 
.... 

Maintenant, voici la partie étrange. _CalendarExtender donne des erreurs lors de la recherche de l'ID de _EditControl en tant que TargetID. Cela ressemblait à un problème de conteneur de noms, alors j'ai regardé et regardé et je n'ai rien trouvé. Puis j'ai regardé avec le débogueur. _EditControl et _ImageButton ont tous deux leur conteneur d'attribution de noms défini sur this comme prévu, mais _CalendarExtender a son conteneur d'attribution de noms défini sur null.

Je voudrais essayer de résoudre ce problème moi-même avec _CalendarExtender.NamingContainer=this; mais c'est une propriété en lecture seule. La seule raison pour laquelle je peux comprendre cela pourrait être parce que _CalendarExtender hérite de ExtenderControl-> Control. Où un Panel hérite de WebControl-> Control.

Est-ce que quelqu'un sait quelque chose que je pourrais manquer ou une solution de contournement pour ce problème ou quelque chose?

+0

étrange .. je peux » Je semble reproduire l'erreur .. mais si je prends une version dépouillée de mes classes, le conteneur de nommage n'est toujours pas défini sur le calendrier .. mais il ne jette pas une erreur sur les ID en double ou les identifiants manquants. Je suis vraiment confus. – Earlz

Répondre

0

Ok, j'ajoutais le calendrier d'extension (plus tard dans le code) à un panneau différent de celui contenant le contrôle d'édition, que je suppose est pourquoi je suis une telle erreur ..

Questions connexes