2010-07-23 7 views
0

La façon dont cette page est disposée, toutes les données sont chargées à Page_Init. Eh bien, j'ai un contrôle personnalisé qui a des problèmes avec cela.Tous les contrôles sont toujours NULL après avoir appelé EnsureChildControls()?

Je l'ai sur la page comme si:

<cc:SomeControl... /> 

Et puis je régler la valeur à l'aide Page_Init

MyControl.Value="blah"; 

choses simples ..

Le Value est un accesseur et a quelque chose de similaire à ceci:

public string Value{ 
    get... 
    set{ 
    EnsureChildControls(); 
    MyHiddenField.Value=value; 
    } 
} 

et c'est là que j'ai un problème. Il est dit que MyHiddenField est null. Est-ce que Page_Init est trop tôt pour cela? Ou y a-t-il une autre fonction que je dois appeler?

Répondre

0

Le correctif de ce changeait d'utiliser un espace de noms pour référencer le CustomControl à l'aide d'un src avec un nom de fichier

changer ceci:

<%@ Register Assembly="MyProduct" Namespace="MyProduct.CustomControls" TagPrefix="cc" %> 

à ceci:

<%@ Register src="/CustomControls/MyControl.ascx" tagname="MyControl" tagprefix="uc2" %> 
Questions connexes