Je n'arrive pas à trouver d'exemples sur la façon d'implémenter ITemplates avec plusieurs instances. Tout ce que je dois faire est de construire une navigation qui a un modèle pour le contenu de chaque élément de navigation.ASP.NET ITemplate avec TemplateInstance.Multiple
1
A
Répondre
2
Si votre contrôle n'est pas un contrôle de base de données, vous pouvez résoudre le problème de la manière suivante. Mais, je ne l'ai pas testé.
public class FooItem : WebControl, INamingContainer
{
protected override CreateChildControls()
{
Control placeHolder = this.FindControl(((Foo)this.Parent).ItemPlaceHolderId);
if (placeHolder != null)
{
// Add some controls to the placeHolder.
}
}
}
public class Foo : WebControl, INamingContainer
{
public ITemplate ItemTemplate { get; set; }
public string ItemPlaceHolderId
{
get { ... }
set { ... }
}
public FooItemCollection Items
{
get { ... }
}
protected override CreateChildControls()
{
foreach (FooItem item in this.Items)
{
this.ItemTemplate.InstantiateIn(item);
}
}
}
1
Regardez la documentation de la création d'un contrôle basé sur des données. Malheureusement, la meilleure documentation que j'ai trouvée vient de .NET 1.1: Developing a Templated Data-Bound Control.
Note de MSDN:
Cette classe TemplateInstanceAttribute est facultative. Si une propriété de modèle est non étendue avec une classe TemplateInstanceAttribute, la valeur par défaut , le champ Multiple, est utilisé.
Ainsi, tout ITemplate
exemple qui n'utilise pas le TemplateInstanceAttribute
est d'utiliser TemplateInstance.Multiple
.
Questions connexes
- 1. asp.net ItemTemplate: ITemplate
- 2. ASP.Net ITemplate - façons de déclarer
- 3. contrôles enfants ASP.NET WebControl ITemplate sont nuls
- 4. Databinding sur le contrôle personnalisé avec ITemplate
- 5. ITemplate et DataGrid Colonne Codebehind
- 6. Remplacement de ITemplate dans MVC?
- 7. GridView avec des champs ITemplate exporter vers Excel
- 8. Créer un modèle avec ITemplate pour un datalist
- 9. Contrôle Web personnalisé, ITemplate non reconnu
- 10. propriétés ITemplate pas disponible sous forme d'attributs
- 11. Comment accéder aux autres valeurs de contrôles dans ITemplate?
- 12. BindData à ITemplate pour GridView dans le code
- 13. Comment exposer un ITemplate via un contrôle utilisateur?
- 14. ITemplate et événement de clic de bouton de lien
- 15. L'événement itemCommand ne se déclenche pas dans ListView avec ITemplate personnalisé
- 16. Comment créer un contrôle serveur ASP.NET personnalisé basé sur un modèle GridView comme un gabarit
- 17. Existe-t-il un meilleur moyen d'accéder aux contrôles dans un ITemplate que FindControl()?
- 18. fusionner asp.net mvc avec l'application existante asp.net
- 19. Problème de cookie avec ASP.NET/ASP.NET MVC2
- 20. asp.net avec backend java
- 21. RIA avec ASP.NET
- 22. ASP.NET Ajax avec Mono
- 23. champ Javascript avec asp.net
- 24. asp.net avec mysql
- 25. JQuery avec validation Asp.net
- 26. Aide avec ASP.NET HttpWebRequest
- 27. Wordpress avec ASP.NET MVC
- 28. portail liferay avec asp.net
- 29. problème avec asp.net gridview
- 30. ASP.Net healthMonitoring avec AJAX
Bien que cela vous aidera probablement je ne ai pas besoin ou si vous voulez mon contrôle à DataBound. – Chris
Je n'ai pas suggéré que votre contrôle devrait être databound, seulement que vous devriez regarder la documentation, car c'était probablement la seule documentation de créer plusieurs instances d'un seul paramètre 'ITemplate'. –