Checkbox

Signaler
Messages postés
38
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
10 novembre 2009
-
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
-
salut,
avec code asp.net je génere un tableau qui contient des données +des checkbox de type html et j'ai un bouton server" envoyer mail" je sais pas comment récupérer la ligne du tableau (ou id_personne) lorsque je coche la ou les  cases pour les récupérer dans une autre page asp.net pour rédiger le message.
merci

5 réponses

Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Je ne sais pas si c'est cela que tu cherches, mais
1/ pour récupérer un contrôle de la page précédente dans ta nouvelle page, tu peux faire:
dim ceci as cela = ctype(Page.PreviousPage.FindControl("cela1"), cela)
2/ pour récupérer les cases cochées, tu dois parcourir ton tableau et contrôler la valeur de tes checkbox à chaque ligne...

GGtry
Messages postés
38
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
10 novembre 2009

excuse moi j'ai pas compris, j'ai fais ce que vous m'avez dis mais il affiche un message d'erreur :inpossible de convertir un type objet .
comment en fait pour parcourir le tableau.

explication de probléme:

page1.aspx: contient un tableau html qui affiche resultat d'une requete dans ce tableau il ya des checkbox html(pas serveur)
 et un bouton envoyer.
mon tableau:

string str =
" + \"liste id=inscrits>\";str +=

\"----
\";str +=

\" Date d'inscription |\";str + =

\"Soci‚t‚ |\";str +=

\" Nom |\";str + =

\"Pr‚nom |\";str +=

\" Fonction |\";str + =

\"T‚l‚phone |\";str +=

\" E-mail |\";str + =

\" + "text-align: right;" + ">S‚lect. |\";str +=

\"\";

for (int i = 0; i < cn.Select_visiteur(var1).Rows.Count; i++){

str +=

\"----
\";str +=

\"" + cn.Select_visiteur(var1).Rows[i]["date_inscr"].ToString() + ", \";str +=

\" + "gras>" + cn.Select_visiteur(var1).Rows[i]["societe"].ToString() + ", \";str +=

\" + "gras>" + cn.Select_visiteur(var1).Rows[i]["nom"].ToString() + ", \";str +=

\" + "gras>" + cn.Select_visiteur(var1).Rows[i]["prenom"].ToString() + ", \";str +=

\" + "gras>" + cn.Select_visiteur(var1).Rows[i]["job"].ToString() + ", \";str +=

\" + "gras>" + cn.Select_visiteur(var1).Rows[i]["tel"].ToString() + ", \";str +=

\" + "mailto:schtroumpf@gargamail.com>" + cn.Select_visiteur(var1).Rows[i]["mail"].ToString() + ", \";str +=

\" + "droite> + "checkbox name= " + " chk " + i + "onclick= cocher(); />, \";str +=

\"\";}

str +=

\"----
\";str +=

\" + "border-bottom-style: none;" + "class=" + "droite" + " colspan=" + 8 + ">s‚lectionner tous / aucun :";str +=

" + "cocher_tous(this.checked);" + " />, \";str +=

\"\";str +=

"
";lab.Text = str;

page mail.aspx: sur cette page je voudrais savoir les case cochés et les adresse mail correspondantes à eux;
mon code sur cette page

HtmlTable SearchTerm;SearchTerm = (

HtmlTable)Page.PreviousPage.FindControl(
"inscrits");

HtmlTableRow lignes;lignes = SearchTerm.Rows;

for (
int i = 0; i < lignes.lenght; i++){

if (lignes[i].cells[7].Checked==
true){

TextBox1.Text += lignes[i].Cells[6];

}

}

mais ca ne fonctionne pas:
je voudrais tester dans la colonne 7 est ce que checkbox =true ou false si true je copie l'adresse qui existe dans la colon 6

merci
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonjour,

Dans ton cas, previouspage ne peut pas servir, puisque tu crées directement un tableau html... Tu ne peux donc pas non plus mettre runat="server" dessus. Mais pourquoi procèdes-tu d'une manière aussi compliquée ?
Si tu veux continuer à faire cela, tu peux toutefois mettre ton tableau dans une form (en dehors de la form asp et sans runat server), et récupérer tes données à l'aide de request.form...
par exemple :
<form id="tableau" action="pagemail.aspx" method="post">
ta table

</form>
Toutefois, pour l'adresse que tu dois récupérer, il te faut la mettre aussi dans un élément input : dans ton cas, tu peux utiliser l'hiddeninput html.
En revanche, je ne sais pas trop comment tu peux récupérer le nombre de lignes. Il y a bien request.form.count, mais ça ne compte pas les checkbox non cochées je crois.
A la rigueur, tu peux ajouter un nouvel hiddeninput à la fin de cette form qui contiendra le nombre de lignes créées.

GGtry
Messages postés
38
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
10 novembre 2009

salut,
j'ai fais un back office pour un site et je voudrais quand l'utilisateur tape dans la barre d'adresse l'adresse d'une mes pages de back officce je l''oblige de rediriger vers la page d'authentification.
j'ai vus que en php on peut faire fichier htaccess mais en asp.net j'ai trouvé rien.

merci
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Et ton précédent problème, il est résolu ?
Tu aurais dû ouvrir un nouveau sujet.
Je ne sais pas ce qu'est un back office, et je connais très mal les questions d'accès protégé, donc ce que je vais te répondre risque de relever de la bidouille.
il y a les sessions éventuellement. Si l'utilisateur s'est authentifié, tu peux écrire lors de l'authentification Session("utilisateur")=nom
Dans les autres pages, tu fais un test lors du load pour savoir si Session("utilisateur") est égal à quelque chose. Si oui, l'utilisateur a accès à la page, si non, tu fais
Response.Redirect("tapage") où ta page = ta page d'authentification.
Cela dit, cela n'empêchera pas l'utilisateur d'accèder à une page en tapant l'adresse si sa session n'est pas expirée (par défaut, elle dure 20 minutes je crois).

Tu devrais faire ta demande dans un nouveau message,

Cordialement,

GGtry