BernardJourdain
Messages postés3Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention21 octobre 2007
-
21 oct. 2007 à 20:55
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
21 oct. 2007 à 23:58
Bonjour,
J'ai créé mon propre ITemplate pour un DataList. J'ai ajouté un "LinkButton" pour sélectionner un item de la liste mais je ne reçois jamais l'event "ItemCommand". Le datalist contient le gestionnaire d'évènements "ItemCommand". Si je construis l'itemtemplate dans le code aspx, cela marche correctement. Voici le code de mon template :
public class TemplateListRecord : ITemplate
{
public TemplateListRecord()
{
}
public void InstantiateIn(Control container)
{
LinkButton oLinkButton = new LinkButton();
oLinkButton.DataBinding += new EventHandler(LinkButton_DataBinDing);
container.Controls.Add(oLinkButton);
}
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 21 oct. 2007 à 21:17
Bonjour, comment associes tu ton TemplateListRecord avec ton DataList ? Pour que l'event ItemCommand du DataList soit lancé, il faut que le OnBubbleEvent soit appelé donc que le OnCommand du LinkButton soit atteint donc que le linkbutton soit présent dans le page_init (voir le page_load) donc ajouté le TemplateListRecord au niveau du paage_init (voir au plus tard dans le page_load).
BernardJourdain
Messages postés3Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention21 octobre 2007 21 oct. 2007 à 22:50
Bonjour,
Je n'ai malheureusement pas tout suivi à ta réponse; mais voici ce que je fais : Dans la fonction Page_Load du UserControl qui embarque le DataList, j'appelle une méthode d'initalisation :
Page_Load()
{
if (! Page.IsPostBack)
Initialize();
}
private void Initialize()
{
DataListDocuments.ItemTemplate = new TemplateListRecord();
+ binding avec des données
}
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 21 oct. 2007 à 23:36
Hum, à mon avis il faut renseigner ton ItemTemplate meme lorsqu'il y a un postback. Par contre le binding n'est pas nécessaire en cas de postback. Je te conseille aussi de renseigner la propriété ItemTemplate au niveau du page_init tu auras beaucoup moins de problème.