Variable de session

caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007 - 30 juil. 2007 à 09:33
 gaussprodada - 12 déc. 2007 à 23:29
bjr,
mon pb est le suivant :
j'ai une requete sql qui me permet de recuperer les informations d'une société.
j'ai une page dans laquelle j'ai  un textbox(dans laquelle je saisie le nom d'une societé) et un bouton "rechercher" en cliquant dessus  il m'affiche une page qui doit contenir le resultat de ma recherche, en selectionnant une ligne il doit me renvoyer le choix à la page qui contient le bouton rechercher  en remplissant 4 autres texbox.
merci de votre aide.

31 réponses

cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 10:09
Salut,

et quel est ton problème??

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 11:33
comment recuperer le resultat de la requete dans ma variable de session du textsaisie. puis remplir par la suite les autres textbox?
merci
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 12:03
Si j'ai bien compris, tu veux sélectionner une ligne (d'un GridView?) et que ses données soient reportés dans des TextBox d'une autre page?

Dans ce cas, lorsque tu sélectionnes ta ligne, tu utilises une variable de session pour y mettre la valeur de ton enregistrement :

Session("nom de ta variable") = taSelection

Tu n'auras qu'à replacer les bonnes valeurs dans les bons TextBox...

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 12:30
je n'arrive pas à bien comprendre j'ai fait par exemple
dans ma page load de rechercher j'ai:

protected
void Page_Load(
object sender,
EventArgs e){

if (Request["Societe"] !null)TextT_LIBELLE.Text Request[

"Societe"].ToString();
puis
protected

void GridView1_RowCommand(
Object sender,
GridViewCommandEventArgs e){

if (e.CommandName ==
"OnSelect"){

//string query = "select CONTRATS_VALIDES.AFF_AFFAIRE2,CONTRATS_VALIDES.AFF_TIERS, TIERS_CEGID.T_TIERS, TIERS_CEGID.T_LIBELLE,TIERS_CEGID.interlocuteur,TIERS_CEGID.C_RVA,TIERS_CEGID.C_RVA,TIERS_CEGID.C_TELEPHONE FROM CONTRATS_VALIDES INNER JOIN TIERS_CEGID ON CONTRATS_VALIDES.AFF_TIERS=TIERS_CEGID.T_TIERS OR CONTRATS_VALIDES.AFF_TIERS <> TIERS_CEGID.T_TIERS WHERE T_LIBELLE LIKE '" + TextT_LIBELLE.Text + "%'";

Session["Societe"] =
"Societe";(je ne sais pas koi mettre ici)

// redirection vers nouuvel appel

string url =
"~/Appels/NouvelAppel.aspx";Response.Redirect(url);

}
puis dans la page VouvelAppel

public

partial
class
Appels_NouvelAppel1 : System.Web.UI.
Page{

protected
void Page_Load(
object sender,
EventArgs e){

if (Session[
"Societe"]!=
null)((

TextBox)FormView1.FindControl(
"SOCIETETextBox")).Text =Session[
"Societe"].ToString();

}

 

protected
void Button1_Click(
object sender,
EventArgs e){

string url =
"~/Appels/RechercherSoc.aspx";

if (((
TextBox)FormView1.FindControl(
"SOCIETETextBox")).Text !=
null)url +=

string.Format(
"?Societe={0}", ((
TextBox)FormView1.FindControl(
"SOCIETETextBox")).Text +
"%");Response.Redirect(url);

merci pour ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 12:50
Il faut que tu récupères le contenu de la cellule qui contient le nom de ta société.

Session["Société"] = GridView(sender).Rows["index de la ligne"].Cells["index de la colonne"].Text

je ne suis pas sûr de la syntaxe en c# par contre...

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 12:53
je vais essayer maintenant. je te tiens au courant.
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 12:58
j'ai un message d'erreur de ce type!!

'Appels_Rechercher.GridView1' est un 'champ' mais est utilisé comme un 'méthode'
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 13:47
Quelle ligne provoque cette erreur?

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 13:54
en mettant gridview je crois.
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 13:57
["index de la ligne"].Cells["index de la colonne"].Text, comment je les recupère car je ne vois pas!!
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 14:01
voici l'erreur.



Erreur de compilation



Description : Une erreur s'est produite lors de la compilation d'une ressource requise pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre code source de manière appropriée.

Message d'erreur du compilateur: CS0118: 'Appels_Rechercher.GridView1' est un 'champ' mais est utilisé comme un 'méthode'

Erreur source:

Ligne 27 :
Ligne 28 :             //Session["Societe"] = Societe.Text;
Ligne 29 :             Session["Société"] = GridView1(sender).Rows[0].Cells[2].Text;
Ligne 30 :
Ligne 31 :



Fichier source: c:\dev\APPLIWeb\VueSTC\Appels\RechercherSoc.aspx.cs    Ligne: 29
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 14:11
GridView1 n'est pas un type, c'est ton d'instance de l'objet GridView je suppose...

sender est de type 'objet', c'est pourquoi je faisais un cast vers le type 'GridView'.

Si ton GridView s'appelle GridView1, tape directement GridView1.Rows.......

<hr />
@+  '
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 14:25
j'affecte ainsi:

Session[




"Soci‚t‚"
] = GridView1.Rows[0].Cells[2].ToString();

ma page RechercheSoc s'affiche avec ma gridview et lorsque je selectionne rien ne s'affiche dans ma page NouvelAppel.
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 14:47
Tu utilises bien le code que tu m'as donné dans un message précédent?

Si tu places un espion sur ta variable de session, que contient-elle? au moment de l'affectation, et dans le load de ta page NouvelAppel

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 14:50
si je mets session ["societ"]="tele" dans ma page recherchesoc et lorsque je fais la recherche dans NouvelAppel il affiche tele et qd je selectionne il renvoit le nom tele dans ma page.
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 14:58
désolé mais j'ai pas compris ton dernier post...

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 15:04
lorsque j'initialise session["societe"]="telematin" dans ma page rechercheSoc. qd je vais maintenant sur NouvelAppel et que je saisie "tele" puis rechercher il affiche ma gridview avec"telematin" et  toutes les infos et qd je selectionne il renvois societe=telematin.
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
30 juil. 2007 à 15:13
Tu dois affecter ta variable de session au moment où tu sélectionnes la société dans ton GridView. Ensuite tu recharge ta page (NouvelAppel si j'ai bien compris)
 et dans le load tu récupère le contenu de ta varaible de session qui te permet de renseigner ton TextBox.

<hr />
@+  
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 15:14
oui, c'est ça.
0
caudette Messages postés 52 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 20 août 2007
30 juil. 2007 à 15:39
j'affecte la variable de session à quel moment puis que je fais
protected

void GridView1_RowCommand(
Object sender,
GridViewCommandEventArgs e){

if (e.CommandName ==
"OnSelect") //selection dans ma gridview
{

// faire le select

string query =
"select CONTRATS_VALIDES.AFF_AFFAIRE2,CONTRATS_VALIDES.AFF_TIERS, TIERS_CEGID.T_TIERS, TIERS_CEGID.T_LIBELLE,TIERS_CEGID.interlocuteur,TIERS_CEGID.C_RVA,TIERS_CEGID.C_RVA,TIERS_CEGID.C_TELEPHONE FROM CONTRATS_VALIDES INNER JOIN TIERS_CEGID ON CONTRATS_VALIDES.AFF_TIERS=TIERS_CEGID.T_TIERS OR CONTRATS_VALIDES.AFF_TIERS <> TIERS_CEGID.T_TIERS WHERE T_LIBELLE LIKE '" + TextT_LIBELLE.Text +
"%'";

// init des variables de session

//Session["Societe"] = "telelogos";

Session[

"Soci‚t‚"]= GridView1.Rows[1].Cells[1].Text;//affectation de ma variable

 

// Session["Contrat"]=

// redirection vers nouuvel appel

string url =
"~/Appels/NouvelAppel.aspx";Response.Redirect(url);
0
Rejoignez-nous