Recuperer la valeur d'un textbox d un autre formulaire

Signaler
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
bonjour
les amis j ai un probleme jtravail avec c# application web
jclick sur un button et jpasse de webform1 a webform2 a partir d ici jveu recuperer une valeur d un textbox situe sur le webform1 
normalement en vb en le met dans un module pr qu il soit reconnu mais il ya pa de module en c# Alors est qui a quelqu un qui a une idée SVP???

 un seul bras n'applaudis jamais

17 réponses

Messages postés
74
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
19 septembre 2006

Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

grand salut
j ai essayer ce que tu ma proposer mais ça na pa marcher voila l erreur generer
"Le nom 'tb_go' n'existe pas dans la classe ni dans l'espace de noms 'test.Groupe'"
j espere que tu as bien compris ma question bon jveu recuperer d une webform2 la valeur d un textbox situant sur le webbform1 voila et merci
en fait jvai r1 declarer comme using si j utilise ta methode n est pa? 
 ok voila ce que j ai fé :
fichier global:
protected

void Session_Start(Object sender, EventArgs e){

Session.Add("tb_go",

null);}

evenement page_load :
string

var=Response.Write(Session[tb_go].toString());

c ça ce que tu ma proposer n est ce pa
alors est j ai rater kelke chose

remercie

 un seul bras n'applaudis jamais
Messages postés
74
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
19 septembre 2006

Effectivement maintenant que tu me le dis il me semble qu'il y'a une propriété sur tes pages web à mettre à true pour activer les variables de sessions.
Je me rappel plus comment s'appel cette propriété mais si tu y jete un oeil son nom devrait être plus que parlant.
Voilà voilà en espérant que cela soit cela sinon je ne vois pas trop.

(juste une petite précision, moi j'utilise zone alarme comme par feu et je sais que lorsque je l'active impossible de récupérer mes variables de sessions, et cela je n'est jamais su pourquoi...)

++
Messages postés
74
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
19 septembre 2006

javais regardé ton code en diagonale et jai pas vu mais apparement tu as oublié les guillemets lorsque tu récupères le contenu de ta variable de session.
il faut remplacer:
var=Response.Write(Session[tb_go].toString());
parvarSession["tb_go"].toString();>Le "Response.Write" était juste un exemple pour montrer comment recupérer une variablde de session et l'afficher directement!

Mais avec le code que tu m'as donné ta variable var sera à null car tu n'as apparement pas affecter de valeur a ta variable de session et comme tu l'a initialisé à null (
Session.Add("tb_go"null);)
...
Dans ton cas il faut dans le code de ton
webbform1 mettre quelque part:
Session["tb_go"] = textBox.text
et donc dans le code de ton webbform2 il faudra mettre quelque part:
var =
Session["tb_go"].toString();

Voili voilou avec ca cela devrait gazouiller ;-)
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

oui ça marché mais on peut pa recuperer et convertir la variable en string parce que la methode en global ne retoune pa de valeur 
voila un erreur qui est generer
"Impossible de convertir implicitement le type 'void' en 'string' "
Alor plus d idée stp et merciiii bien si tu continu  a y penser avec moi ça peu quand trouve une solution  

 un seul bras n'applaudis jamais
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonsoir,

ou as tu cet erreur ?

Pour ce qui est du module ta solution ne fonctionne pas car le module est partage à toutes l'application donc si 2 personnes sont en meme temps sur le site ils vont acceder au memes valeurs ... en C# c'est possible ausssi car un module n'est rien d'autre qu'une classe ayant que des méthodes et propriété static.

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

salut 
215239 SupaLou le probleme dans ton code jlé pa bien expliquer bon voila ts marche tres bien sauf que quand j ecri cette ligne var = Session["tb_go"].ToString();   il me genere le prob suivant :

 
Erreur du serveur dans l'application '/test'.
<hr width= "100%" color="silver" size="1" />
La référence d'objet n'est pas définie à une instance d'un objet.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.

Erreur source:

Ligne 24 :
Ligne 25 : 			//	string var =Session["tb_go"].ToString();
Ligne 26 : 			tb_recherche.Text= Session["tb_go"].ToString();

Ligne 27 :
Ligne 28 :



Fichier source : c:\inetpub\wwwroot\test\recherche.aspx.cs    Ligne : 26

Trace de la pile:

[NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
test_saad.Groupe.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\test_saad\recherche.aspx.cs:26
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731



<hr width ="100%" color= "silver" size="1" /> Informations sur la version :  Version Microsoft .NET Framework :1.1.4322.573; Version ASP.NET :1.1.4322.573

mai quan j enleve var = Session["tb_go"].ToString();  ça marche mai je recupere pa la valeur souhaiter voila c ça exactement merciiiiiii bien 

jesusonline merci pr ton idée jvé l essayer aussi de creer un eclasse ou jcollerai des variable static ok c une tree bonne idée jvé l essayer merciiiiii

 un seul bras n'applaudis jamais
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Si tu me lis correctement je déconseille l'utilisation d'une classe avec des variables static car elles sont partagés par toutes l'application donc 2 users qui accedent à la meme page en meme temps vont se battre !

Le mieux est de passer par un Helper (une classe avec des propriétés static ou singleton) et ces propriétés font des accés dans la variable session avec System.Web.HttpContext.Current.Session["toto"];

pour ton erreur c'est que tb_recherche n'existe pas dans la page.

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

bonsoir


desoler j avai pa li la negation "ne fonctionne pa " kes tu me conseil tu peu m expliquer mieu ce ke tu veu dire avec System.Web.HttpContext.Current.Session["toto"]; comment pourrai je l'utiliser
 
 un seul bras n'applaudis jamais
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
public class SesionHelper {

private SessionHelper(){}

private static SessionHelper _instance = null;
public static SessionHelper GetInstance{
   if (_instance  == null)
      _instance = new SessionHelper();
   return _instance;
}

private static SessionState Session = System.Web.HttpContext.Current.Session;

public int Var1{
   get {
   int i;
      if (Session["Var1"] == null)
              i = 3; // valeur par défaut
  i = (int)Session["Var1"];
    return i;
}
   set {Session["Var1"] == value}
}

}

Et dans ton code tu fais :

SessionHelper.GetInstance.Var1 En faisant ca tu encapsules les variables sessions ce qui est beaucoup plus propre car tu vas beaucoup moins te tromper au niveau du casting, ca diminue les risques des variables sessions qui ont le meme nom aprés tu peux aussi améliorer ton helper en rajoutant certaines fonctions sympas ...

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

desoler pr cette conne question mé est ce jvai ajouter ce code ds une classe et apellé par la suite  SessionHelper.GetInstance.Var1  a partir du code
 un seul bras n'applaudis jamais
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

si oui tu peu m indiquer les using que jvé avoir besoin dans cette classe et merciiiiiiiiii bien

 un seul bras n'applaudis jamais
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

re bonsoir
ok voila jlé mi ds une classe mai il ne m a pa reconnu
private

static SessionState Session = System.Web.HttpContext.Current.Session();

voila l erreur  que doi je faire

C:\Inetpub\wwwroot\test\Class1.cs(23): Le type ou le nom d'espace de noms 'SessionState' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

 un seul bras n'applaudis jamais
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
hum, je me souviens plus du type exacte de Session regarde dans l'intellisens ce que ca te dit ;-)

vu que HttpContext.Current.Session est une propriété pas besoin de () peut etre que c'est un HttpSesssionState.

Normalement on met ce code dans une classe qui est dans un autre projet que le projet web au sein de la meme solution de Visual Studio

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

bonjour
jtrouve encore pa la solution le probleme c que la SessionState n est pa reconnu il lui faut un using
private
static SessionState  Session = System.Web.HttpContext.Current.Session;

private

static SessionState Session = System.Web.HttpSesssionState.Current.Session;


C:\Inetpub\wwwroot\test\Class1.cs(24): Le type ou le nom d'espace de noms 'SessionState' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

 un seul bras n'applaudis jamais
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Essaye de faire quand meme un minimum d'effort de recherche :-/

System.Web.SessionState.HttpSessionState Session = System.Web.HttpContext.Current;

<hr />Cyril - MVS - MCP
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010

bonsoir avant ts jte remerci pr ton effort mai s il te plai c pa la peine de me faire ... j ai posé ma bete question  seulement parce ke c ton code et on plus ce que ta proposer jlé essayer avant que jte repose ma bete question mai jme sui di que peu etre j aurai besoin d un using ou une reference  ...bon c pa grave on est la pr  apprendre merci en ts ca

bon a ce qui concerne la solution jlé trouver il a fallu que jtravail avec les session ou les cookies 
voila il suffit d ecrire dans la webform1
1ere ligne //////  Session.Add("ID",txtID.Text);    //txtID.Text  le textbox a recuperer

et recuperer la valeur ds webform2 en ecrivant
2eme ligne  ////TextBox2.Text=Session["ID"].ToString();

mai attention si vs charger la webform2 avant la webform1 vs aurriez un msg d 'erreur
" objet defini n est pa une instance ...."

alor faite attention
bonne chance

 un seul bras n'applaudis jamais