Récupérer les donée d'un formulaire dans une autre page en asp dotnet [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
18 février 2005
-
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
18 février 2005
-
Salut,
je suis un développeur PHP, je vien de migrer vers ASP dotnet, je voulait savoir comment récupérer les champs (WebForms) du formulaire pour les manipuler dans une autre page (la page ciblée) .

Exple:

page1.aspx :

<?xml:namespace prefix = asp />
<FORM method=post runat="server"><form method="post" runat="server">

</form>

maintenant, j'aimerai savoir le bout de code que je maitrait dans page2.aspx(page ciblée) qui me permettera de manipuler Textbox1.

Merci d'avance.<!-- Insert content here --></FORM><!-- Insert content here --><!-- Insert content here --><!-- Insert content here --><!-- Insert content here --><!-- Insert content here -->

6 réponses

Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
18 février 2005

Apres avoir consulté le msdn, ce qu'il faut faire Concernant les sessions

Dans page1:

HttpContext.Current.Session["var"] = "blabla";
HttpContent.Current.Server.Transfer("page2.apx");

Dans page 2 :

Label1.Text = (String) HttpContext.Current.Session["var"];

Concernant les données du formulaire

Dans page1:

HttpContent.Current.Server.Transfer("page2.apx");

Dans page 2 :

Label1.Text = Request.Form["TextBox1"];
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
Lorsque tu cliques sur un bouton (par exemple) tu vas faire un postback



C'est donc dans le code du bouton que tu rediriges le client, avant la redirection tu peux modifier la valeur ou pas.



private sub button1_click()

dim valeur as string = textbox1.text
'traitement de ta valeur, si besoin est, tu peux l'enregistrer dans une variable session

response.redirect("page2.aspx")

end sub



dans la page2, si t'as modofié la valeur, tu peux la récuperer en
regardant dans la session, sinon en faisant un
request.form("textbox1"), si je dit pas de bétises ca devrait etre bon.


<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
18 février 2005

J'ai essayé de faire la deuxieme solution avec la récupération en utilisant un Request.Form("TextBox1"); et ça ne marche pas, je crois qu'il y'en a une façon de faire, sinon , vous pouvez m'indiquez comment faire en utilisant les session ?

Cordialement.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
Désolé je suis fatigué, je t'ai dit une bétises plus haut



pour garder la form, c'est pas avec un response.redirect, mais avec un server.execute("page.aspx", true)

Le boolean qui est derriere sert justement à spécifier qu'il faut
garder la form, par défaut il est à true : server.execute("page.aspx")
garde la form.



apres tu pourras faire comme j'ai dit avec un request.form("truc")



sinon pour les sessions, rien de plus con :



pour ecrire

session("tavariable") = unevariable



pour lire

dim unevariable as tonobjet

unevariable= ctype(session("tavariable"),tonobjet)




<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
18 février 2005

Oui, c'est sur que cela est la bonne solution, mais, lorsque j'ai essayé avec Server.Execute, le compilateur me sort un message d'erreur comme quoi il ne connait pas cette méthode, sachant que mon code-behind est en C# , et que session("var") n'ai pas reconnue pas le compilateur non plus.

Merci de bien me répondre.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
si tu travailles en C# faut faire attention à la casse

J'ai écrit le code comme ca, donc sans faire gaffe à la casse, et je
connais pas la Casse exacte généralement c'est VS.net qui me fait tout
ca et en plus je travaille en VB.net qui n'est pas sensible à la casse.




Essaye plutot avec Server.Execute("page.aspx");

Session("var") ;






<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr