2010-04-09 6 views
3

lorsque nous voulons définir un modèle dans nos contrôles utilisateur nous déclarons un champ comme celui-ci dans notre utilisateur contrôleASP.Net ITemplate - façons de déclarer

public ITemplate MyTemplate { get; set; } 

afin que l'utilisateur des modèles définis par le contenu seront représentés dans MyTemplate, et vous pouvez l'utiliser.

et il y a des façons de personnaliser les modèles, par exemple

[TemplateInstanceAttribute(TemplateInstance.Single)] 
public ITemplate MyTemplate { get; set; } 

l'exemple ci-dessus permettra définit des modèles d'instance unique (http://www.nikhilk.net/SingleInstanceTemplates.aspx).

Je suis accidentellement tombé sur des modèles d'instance unique et époustouflé par la puissance de celui-ci.

ma question est ce que sont toutes les choses possibles avec ITemplates ?? comment les définissons-nous (plus précisément les annotations). Y at-il une bonne documentation disponible pour ITemplates ?? (Veuillez ne pas pointer vers msdn)

Répondre

1

Il semble que vous déclariez le modèle correctement. Pour réellement remplir le contenu avec votre propre modèle, vous le déclarez dans votre balisage. Ex:

<MyControl runat="server" ...> 
    <MyTemplate> 
    ... any standard ASP.NET controls in here 
    <asp:Label runat="server" ID="lblName"/> 
    </MyTemplate> 
</MyControl> 

    public void InstantiateIn(Control container) { 
     var lblName = container.FindControl("lblName") as Label; 
     lblName.Text = "Blah";// set from your data layer or otherwise 
     Button b = new Button(); 
     b.ID = "B"; 
     container.Controls.Add(b); 
    } 

Est-ce ce que vous cherchiez?

+0

Merci pour la réponse. Je comprends comment appliquer iTemplate, mais ma question est de savoir s'il existe une bonne documentation/ressource disponible sur ITemplate. Je cherche quelque chose comme "ITemplate Complete Reference" ... – Mahes

+0

C'est une exigence assez spécifique. C'est probablement mieux si vous pensez à quelque chose que vous devez atteindre, puis les gens peuvent suggérer des moyens pour y parvenir. – Echilon

+0

Je suppose que ce que je veux, c'est que je voudrais comprendre complètement ce que ITemplate peut et ne peut pas faire. – Mahes

Questions connexes