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 :

[.NET 2.0] Acceder à un UserControl dans un DataList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut [.NET 2.0] Acceder à un UserControl dans un DataList
    Bonjour,

    dans un formulaire j'ai un ensemble de combo : checkbox-FileUpload.

    J'ai mis ca dans un UserControl pour faciliter l'utilisation et l'utilises dans un DataList

    Apres avoir validé mon formulaire, j'aimerais récupérer cette liste de UserControl, et là je bloque car pas moyen d'y accéder.

    en fait je pense que ce n'est pas possible mais j'aimerais avoir votre avis.

    Voici la page aspx du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <asp:DataList ID="DataList1" runat="server">
        <HeaderTemplate>
            </HeaderTemplate>
            <ItemTemplate>
              <uc1:UCComboFileCheckBox ID="UCComboFileCheckBox1" runat="server" 
                    CheckBox='<%# DataBinder.Eval(Container.DataItem, "Libele") %>'
                    UpFile='<%# DataBinder.Eval(Container.DataItem, "DonneesNecessaire") %>' 
                    CheckBoxID='<%# DataBinder.Eval(Container.DataItem,"Id") %>' />
            </ItemTemplate>
            <FooterTemplate>
            </FooterTemplate>
        </asp:DataList>
    et le code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List<Prestation> list = ListPrestation();
                    DataList1.DataSource = list;
                    DataList1.DataBind();
    on peut remarquer que la source de mon datalist n'est pas le UserControl mais une liste d'objet.

    Si vous avez donc une solution pour accéder aux UC ou une autre, je susi preneur.

    Merci

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    ce que tu as écris fonctionne normalement.

  3. #3
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    effectivement ca fonctionne correctement.

    Mais en me relisant je viens de voir que j'ai mal exprimer mon besoin!!

    Ce que je veux obtenir cest lors de la validation de mon formulaire, pouvoir savoir si la checkbox a été selectionné et récupérer le fichier.
    Ces infos se trouve dans mon UCComboFileCheckBox.

    Et c'est la que je ne trouve pas de solution.
    En effet il me semble que les Item du datalist ne sont pas des UCComboFileCheckBox mais des objets Prestation!!!

    Il me faut donc trouver un moyen de parcourir les UCComboFileCheckBox pour les tester un par un et c'est la que le bas blesse!!

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    euh l'item de ton datalist c'est ton usercontrol. il faut juste le caster après ton findcontrol.

  5. #5
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    merci rattlehead de ta réponse mais ta solution impose que je connaisse les Id or, ce n'est pas le cas!!

    j'ai un nombre inconnu de UC, ce que je cherche a faire c'est parcourir mon dataList pour les récupérer un à un.

    au début j'ai tenté ce code mais il ne peut faire le cas de dataitem en UCCombo....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach (UCComboFileCheckBox uc in DataList1.Items)
    {
            ...............
    }

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    tu devrais faire ceci. un item d'un datalist c'est un datalistItem et non un de tes objets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    DataList tot;
    foreach(DataListItem toto in tot.Items)
    {
        UCComboFileCheckBox uCComboFileCheckBox1 = toto.FindControl(UCComboFileCheckBox1) as UCComboFileCheckBox;
     
        if (uCComboFileCheckBox1 == null)
            continue;
     
         tu fais ce que tu as à faire
    }

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/06/2011, 14h59
  2. Inclure userControl dans ASP.NET
    Par papdejour dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/06/2010, 07h35
  3. Réponses: 5
    Dernier message: 10/07/2006, 08h23
  4. [VB.NET]Afficher plusieurs UserControls dans un Panel
    Par Golzinne dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/02/2006, 21h29
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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