Je construis un contrôle web basé sur un modèle pour une application web asp .net. La plupart fonctionnent bien, mais un problème auquel je suis confronté est que tous les contrôles à l'intérieur de mon modèle sont NULL à l'exécution.Les WebControls personnalisés basés sur des modèles - Les Contons internes sont toujours NULL
Par exemple, si mon contrôle est marqué comme ceci:
<fscc:CollapsiblePanel runat="server" ID="cpExample1" ImageControlId="image1" CssClass="curved">
<Header>
this is my header
<asp:Image ImageUrl="imageurl" runat="server" ID="image1" />
</Header>
<Body>
this is the body
</Body>
</fscc:CollapsiblePanel>
Et mon chargement de la page est comme ceci:
protected void Page_Load(object sender, EventArgs e)
{
image1.ImageUrl = Paths.Images.expand_jpg;
}
Il compiler et exécuter, mais image1 est toujours nulle.
J'ai ajouté ces attributs à la classe:
[ParseChildren(true), PersistChildren(false)]
public class MyControl : WebControl
et à la propriété de modèle que j'ai ajouté ces:
[Browsable(false),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateInstance(TemplateInstance.Single)]
public virtual ITemplate Header { get; set; }
Pour autant que je peux dire cela suffit pour le contrôle de image1 être disponible. De plus, l'outil semble reconnaître le contrôle et place l'image1 dans le fichier .designer.cs, mais il est toujours nul. Qu'est-ce que je rate?
Ive a obtenu exactement le même problème. Des idées? – Remotec