IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] WebControl DataList


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut [C#] WebControl DataList
    Coucou la compagnie !

    Bon j'ai fais un UserControl qui est en fait une sorte de TabStrip, des onglets avec une gestion de sous Onglets. Et un PlaceHolder en tant que container de page.

    Etant donné qu'un UserControl c'est bien relou quand on doit le déployer dans plusieurs projets, on s'est dit "tiens si on le mettait en Librairie WebControl"

    Casse la tienne, je me lance la dedans :s

    1er problème :
    Gérer en code behind le SelectedItemTemplate et ItemTemplate pour mettre un LinkButton. La solution que j'ai trouvé pour le moment c'est de faire une classe qui hérite de LinkButton et qui implemente ITemplate. Ca passe.

    le problème est que dans le ItemDataBound de ma DataList, le 1er E.Item contient bien le LinkButton mais pas les autres. Donc obligé pour les autres de recréer un LinkButton à la volée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private void DLstMasterOnglets_ItemDataBound(object sender, DataListItemEventArgs e)
    {		{
      TabSheetItem Onglet = (TabSheetItem)e.Item.DataItem;
      LinkButton lnkTab = (LinkButton)e.Item.FindControl("lnkMasterTab");
      if (lnkTab!=null)
        lnkTab.Text = Onglet.Name;
      else
      {
        lnkTab = new LinkButton();
        lnkTab.Text = Onglet.Name;
        e.Item.Controls.Add(lnkTab);
      }
    }
    Comme vous pouvez le voir j'ai mis une condition pour voir si lnkTab était nul. Et c'est le cas donc je crée un LinkButton à la volée et l'ajoute.

    Apparemment ca provient du ItemTemplate qui foire, car dans un userControl ca marche très bien. Comment résoudre ca ?

    2ème problème :
    Qui découle surement du premier à chaque reload de la page, si je reload pas tout, il perd justement tout les Items sauf le 1er.

    3ème problème :
    Quand je clique sur un LinkButton (sauf le 1er), il se passe que parfois, on doit cliquer 2 fois sur le LinkButton pour prendre en compte. La 1ère fois en cliquant ca passe pas dans le ItemCommand mais la 2eme fois si. Ca le fait à 75% du temps, et je n'arrive pas à reproduire exactement le cas ou des fois ca marche

    Voili Voilou

    Pour l'instant mis à part le problème 3 qui est lourdingue à l'utilisation, le reste à l'air de bien marcher, mais c'est un peu bancal.

    Pourriez vous m'aider svp

    Merci bien.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    ce que je demande n'est pas facile à résoudre ?

    ou c'est juste que j'ai expliqué comme un pied ? :s

    Dites moi au moins bonjour ca évitera de faire un monologue de plus

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    J'ai réussi à résoudre

    En fait au lieu de créer une classe qui hérite de LinkButton et qui implémente ITemplate.

    il faut faire une classe simple sans héritage qui implémente seulement ITemplate puis dans la surcharge de la fonction InstantiateIn gérer ce qu'on veut dans le template.

    C'est à dire que c'est dans cette fonction qu'on fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	public void InstantiateIn(System.Web.UI.Control c)
    		{
     
    			LinkButton lnk = new LinkButton();
    			lnk.ID = id;
    			c.Controls.Add(lnk);
     
    		}
    Et voila tout marche nickel maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DataList et ADO
    Par Alshten dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/11/2005, 21h36
  2. [VB.Net] Pb avec 2 datalist imbriqués
    Par Sardonnen dans le forum ASP.NET
    Réponses: 9
    Dernier message: 10/11/2005, 16h35
  3. [VB.NET] - affichage de webcontrols dynamiquement
    Par karibouxe dans le forum ASP.NET
    Réponses: 6
    Dernier message: 15/06/2005, 11h53
  4. [VB.NET] [WebControl] Collection de Button
    Par SoaB dans le forum ASP.NET
    Réponses: 5
    Dernier message: 21/02/2005, 15h41
  5. [C#] WebControl et evenements
    Par farfadet dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/10/2004, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo