Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

Page.LoadTemplate - charger un UserControl dans une propriété ITemplate
Dans certains cas il est intéressant de définir une propriété ITemplate d'un control directement dans le code. J'ai (re)découvert cette possibilité il y a pas trés longtemps.
 
Mais tout d'abord qu'est-ce qu'une propriété ITemplate. Ce sont par exemple les propritétés ItemTemplate, FooterTemplate du Repeater ou encore la propriété ContentTemplate de l'UpdatePanel d'Atlas. En gros ce sont toutes les propriétés que l'on a l'habitude de définir dans la page aspx.
 
Mais imaginons que je veuille charger des UpdatePanel (contrôle vraiment pris par hasard ;)) dynamiquement dans ma page, comment faire pour renseigner le ContentTemplate ?
 
La méthode Page.LoadTemplate sert justement à ça. On lui passe le chemin relatif d'un UserControl et la fonction nous retourne un ITemplate.
 
voici un exemple d'utilisation :

Dim UpdatePanel As New Microsoft.Web.UI.UpdatePanel
UpdatePanel.ID = Me.Page.ClientID & "_UP" & count
UpdatePanel.Mode = UpdatePanelMode.Conditional
UpdatePanel.ContentTemplate = Page.LoadTemplate("~/UC/UCToto.ascx")

Page.FindControl("panelLeft").Controls.Add(UpdatePanel)

Il se pose encore un problème, j'aimerais que UCToto connaisse la valeut de count, comment faire ? le type de Me.Parent.Parent dans UCToto est justement UpdatePanel (merci le debugger de m'avoir montré ça ;)) à partir de la 2 solutions s'offrent à nous :

- Solution pas trés propre mais rapide à mettre en place :
Lors de l'ajout de l'updatePanel, on ajoute un objet dans le dictionnaire de Page : Page.Items(UpdatePanel.ID) = count et on le récupere dans UCToto de cette façon : Page.Items(DirectCast(Me.Parent.Parent, UpdatePanel).ID)

- Solution plus propre :
On créer un nouveau contrôle qui hérite de UpdatePanel et on lui rajoute la propriété qui nous interesse, puis on récupere cette propriété en faisant un cast vers notre type dérivé :)

J'espere que cette astuce vous sera aussi utile quelle l'a été pour moi ;)

Posted: mercredi 3 mai 2006 19:36 par cyril
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01