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 :

Récupérer les valeur d'un CheckBoxList


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Récupérer les valeur d'un CheckBoxList
    Salut

    Je suis confronté à un souci de taille. J'avais eu une solution en demande dant ici, mais maintenant je me retrouve devant un autre problème concernant cette même CheckBoxList.

    Donc, on reprends :
    j'ai une CheckBoxList dans une page. Jsute en dessous j'ai un bouton.
    Lorsque je clique sur le bouton je passe sur une autre page par un Server.Transfert.
    Dans cette page de destination je récupère le contenu de la checkBoxList de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim userCtrl As CheckBoxList
    userCtrl = CType(PreviousPage.FindControl("chkCateg"), CheckBoxList)
    For Each li In userCtrl.Items
    	If li.Selected = True Then
    		param &= li.Value & ","
    	End If
    Next
    Ensuite je me sers de param pour remplir un paramettre de ma requête qui fait un Select avec une clause WHERE IN (param).

    Une fois que la requête s'exécute elle enrichi un GridView qui contient un bouton en bout de ligne.
    Ce bouton permet d'aller sur une autre page pour avoir, sous forme de formulaire, le détail de l'enregistrement remonté. Pour cela je récupère un id que j'envoi en QueryString.

    Mon problème se situe là : pour aller sur la nouvelle page (par un Response.redirect) il me fait d'abords un PostBackcar il plante en relisant la même page et donc ne trouve pas le control CheckBoxList de la apge d'avant, puisque c'est elle même.

    Mais si je transforme mon premier passage en response.redirect, ben je ne peux plus accéder à la chexkBoxList.

    Alors que faire ?

    Donc, pour synthétiser : comment je peux récupérer les valeurs cochées dans une CheckBoxList d'une page précédente alors que je suis passé d'une apge à l'autre par un Response.redirect ?

    MErci pour votre aide.

  2. #2
    Membre éprouvé Avatar de Ensiaste2006
    Inscrit en
    Juillet 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2006
    Messages : 125
    Par défaut
    Tu peux mettre les valeur cochés dans ta CheckBoxList dans une listbox cachée.
    avant le Response.redirect, met la liste dans l'objet Session. Session.add("List1",maListeAvecLesValDuCheckbox)

    dans ta page appelée, déclare une nouvelle listbox par code
    et affecte à elle Session.item("list1").

    et tt est cachés..discret

    AB

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    OK, merci beaucoup, je pense que c'est une trés bonne méthode.
    Je bloque sur la récupération des valeur dans la apge appelée.
    Voici mon code qui ne donne rien, la variable param reste vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim li As ListItem
    Dim param As String = ""
    Dim i As Int16
    Dim l As ListBox = Session.Item("ListCategChoix")
     
    For Each li In l.Items
    	If li.Selected = True Then
                 	param &= li.Value & ","
    	End If
    Next
    Label1.Text = param
    Le label1 reste désepérement vide sur ma page. Je pense que je dois louper un truc tout con, mais je vois pas lequel.

  4. #4
    Membre éprouvé Avatar de Ensiaste2006
    Inscrit en
    Juillet 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2006
    Messages : 125
    Par défaut
    biensur qu'il te donnera des donnée vide, puisque les items de la listbox récupéré depuis la session sont ts unselected!!

    voici comment j voi les choses :
    dans ta première page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for i = 0 to ListCategChoix.items.coun - 1
    if ListCategChoix.items(i).selected then 
    maPremiereListe.items.add(ListCategChoix.items(i).value)
    end if
    Next
    Session.add("MesChoix",maPremiereListe)
    dans ta 2 éme page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim maDeuxiemeListe as Listbox
    maDeuxiemeListe  = Session.item("MesChoix")
    for i = 0 to maDeuxiemeListe.items.count - 1
    param &= maDeuxiemeListe.items(i).value & ","
    Next
    Label1.Text = param
    crée maPremireListe depuis le concepteur, la deuxième se déclare par code.

    A+

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci beaucoup pour ton aide.

    Effectivement, vu sous cet angle, ça marche vachement mieux.

    Je trouve tout de même un peu bizarre qu'on ne puisse pas récupérer plus automatiquement la liste des cases qui sont cochées.

    Mais, bon, avec cet solution, je vais pouvoir avancer, voir même fabriquer une fonction plus automatique. Si j'arrive à sortir un truc pas mal foutu j'essaierais de mettre à disposition du code.

    Encore merci

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

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  3. Réponses: 3
    Dernier message: 15/05/2008, 13h43
  4. Réponses: 2
    Dernier message: 15/05/2007, 15h43
  5. [Couleur] Récupérer les valeurs R,V,B et L,U,V ?
    Par M4v3rick dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2004, 03h28

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