OVH Cloud OVH Cloud

passage de parametre en ASP2.0

5 réponses
Avatar
dav
Bonjour,

Comment passer des paramètres d'une page à une autre en ASP.
Par exemple récupérer des champs d'un formulaire à partir d'une autre page
après un response.redirect par exemple.
Apparemment le response.form ne marche pas. Ou alors le contrôle n'a pas le
bon même nom....

Merci pour vos idées.

5 réponses

Avatar
Aurélien [MS]
Bonjour,

Plutôt que de faire un Response.Redirect, tu peux choisir en ASP.NET 2.0 de
soumettre un formulaire vers une autre page.
Pour cela, il faut spécifier la propriété "PostBackUrl" du contrôle qui va
soumettre le formulaire, et dans l'autre page utiliser l'objet PreviousPage
pour ensuite accéder aux champs de ton formulaire.

Exemple:
Voici la page qui contient ton formulaire :
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx"
Text="Button" />
</form>

et dans Default2.aspx, tu accèdes aux champs de la page initiale :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Response.Write(CType(PreviousPage.FindControl("TextBox1"),
TextBox).Text)
End Sub


Si tu ne veux pas utiliser ce mécanisme, tu peux aussi utiliser
Server.Transfer en spécifiant True pour le 2ème paramètre (argument
"preserveForm") qui va transmettre à ta nouvelle page le formulaire.
Tu pourras ensuite y accéder à l'aide de "Request.Form" (et non
Response.Form)...

En espérant t'avoir aidé...

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
u$
Bonjour,

Comment passer des paramètres d'une page à une autre en ASP.
Par exemple récupérer des champs d'un formulaire à partir d'une autre page
après un response.redirect par exemple.
Apparemment le response.form ne marche pas. Ou alors le contrôle n'a pas
le bon même nom....

Merci pour vos idées.



Avatar
dav
Merci beaucoup ca marche tres bien PostBackUrl !!
C'est super :-)

Si je veux faire des tests avant de faire le PostBackUrl est-ce que c'est
possible ?
Par exemple le bouton valider recharge la page, fait les tests et si tout
est OK on fait le PostBackUrl, est ce possible ?


"Aurélien [MS]" a écrit dans le message de
news:
Bonjour,

Plutôt que de faire un Response.Redirect, tu peux choisir en ASP.NET 2.0
de soumettre un formulaire vers une autre page.
Pour cela, il faut spécifier la propriété "PostBackUrl" du contrôle qui va
soumettre le formulaire, et dans l'autre page utiliser l'objet
PreviousPage pour ensuite accéder aux champs de ton formulaire.

Exemple:
Voici la page qui contient ton formulaire :
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx"
Text="Button" />
</form>

et dans Default2.aspx, tu accèdes aux champs de la page initiale :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Response.Write(CType(PreviousPage.FindControl("TextBox1"),
TextBox).Text)
End Sub


Si tu ne veux pas utiliser ce mécanisme, tu peux aussi utiliser
Server.Transfer en spécifiant True pour le 2ème paramètre (argument
"preserveForm") qui va transmettre à ta nouvelle page le formulaire.
Tu pourras ensuite y accéder à l'aide de "Request.Form" (et non
Response.Form)...

En espérant t'avoir aidé...

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
u$
Bonjour,

Comment passer des paramètres d'une page à une autre en ASP.
Par exemple récupérer des champs d'un formulaire à partir d'une autre
page après un response.redirect par exemple.
Apparemment le response.form ne marche pas. Ou alors le contrôle n'a pas
le bon même nom....

Merci pour vos idées.







Avatar
Aurélien [MS]
Bonjour Dav,

Non, la requête est envoyée directement vers l'autre page.
Dans ce cas, tu peux faire un postback normal, et ensuite faire un
server.Transfer en passant le paramètre preserveForm à true.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
%
Merci beaucoup ca marche tres bien PostBackUrl !!
C'est super :-)

Si je veux faire des tests avant de faire le PostBackUrl est-ce que c'est
possible ?
Par exemple le bouton valider recharge la page, fait les tests et si tout
est OK on fait le PostBackUrl, est ce possible ?


"Aurélien [MS]" a écrit dans le message de
news:
Bonjour,

Plutôt que de faire un Response.Redirect, tu peux choisir en ASP.NET 2.0
de soumettre un formulaire vers une autre page.
Pour cela, il faut spécifier la propriété "PostBackUrl" du contrôle qui
va soumettre le formulaire, et dans l'autre page utiliser l'objet
PreviousPage pour ensuite accéder aux champs de ton formulaire.

Exemple:
Voici la page qui contient ton formulaire :
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx"
Text="Button" />
</form>

et dans Default2.aspx, tu accèdes aux champs de la page initiale :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Response.Write(CType(PreviousPage.FindControl("TextBox1"),
TextBox).Text)
End Sub


Si tu ne veux pas utiliser ce mécanisme, tu peux aussi utiliser
Server.Transfer en spécifiant True pour le 2ème paramètre (argument
"preserveForm") qui va transmettre à ta nouvelle page le formulaire.
Tu pourras ensuite y accéder à l'aide de "Request.Form" (et non
Response.Form)...

En espérant t'avoir aidé...

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
u$
Bonjour,

Comment passer des paramètres d'une page à une autre en ASP.
Par exemple récupérer des champs d'un formulaire à partir d'une autre
page après un response.redirect par exemple.
Apparemment le response.form ne marche pas. Ou alors le contrôle n'a pas
le bon même nom....

Merci pour vos idées.











Avatar
MLO
Bonjour

J'ai essayé votre méthode, mais dans la page cible le code Handles Me.Load
me renvoie une erreur de compilation.

Je travaille sous web matrix 1.0.

Merci

"Aurélien [MS]" a écrit :

Bonjour,

Plutôt que de faire un Response.Redirect, tu peux choisir en ASP.NET 2.0 de
soumettre un formulaire vers une autre page.
Pour cela, il faut spécifier la propriété "PostBackUrl" du contrôle qui va
soumettre le formulaire, et dans l'autre page utiliser l'objet PreviousPage
pour ensuite accéder aux champs de ton formulaire.

Exemple:
Voici la page qui contient ton formulaire :
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx"
Text="Button" />
</form>

et dans Default2.aspx, tu accèdes aux champs de la page initiale :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Response.Write(CType(PreviousPage.FindControl("TextBox1"),
TextBox).Text)
End Sub


Si tu ne veux pas utiliser ce mécanisme, tu peux aussi utiliser
Server.Transfer en spécifiant True pour le 2ème paramètre (argument
"preserveForm") qui va transmettre à ta nouvelle page le formulaire.
Tu pourras ensuite y accéder à l'aide de "Request.Form" (et non
Response.Form)...

En espérant t'avoir aidé...

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
u$
> Bonjour,
>
> Comment passer des paramètres d'une page à une autre en ASP.
> Par exemple récupérer des champs d'un formulaire à partir d'une autre page
> après un response.redirect par exemple.
> Apparemment le response.form ne marche pas. Ou alors le contrôle n'a pas
> le bon même nom....
>
> Merci pour vos idées.
>





Avatar
Aurélien [MS]
Bonjour,

Première chose, le "Handles Me.Load" doit être sur la même ligne que
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Cependant, le code décrit utilisant "PostBackUrl" est une nouveauté en
ASP.NET 2.0.
Utilisant Web Matrix, vous êtes probablement en ASP.NET 1.0 ou 1.1.
Vous ne pourrez donc pas appliquer ce mécanisme.

Par contre vous pouvez utiliser la méthode Server.Transfer décrite en fin de
mon message précédent.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"MLO" a écrit dans le message de news:

Bonjour

J'ai essayé votre méthode, mais dans la page cible le code Handles Me.Load
me renvoie une erreur de compilation.

Je travaille sous web matrix 1.0.

Merci

"Aurélien [MS]" a écrit :

Bonjour,

Plutôt que de faire un Response.Redirect, tu peux choisir en ASP.NET 2.0
de
soumettre un formulaire vers une autre page.
Pour cela, il faut spécifier la propriété "PostBackUrl" du contrôle qui
va
soumettre le formulaire, et dans l'autre page utiliser l'objet
PreviousPage
pour ensuite accéder aux champs de ton formulaire.

Exemple:
Voici la page qui contient ton formulaire :
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx"
Text="Button" />
</form>

et dans Default2.aspx, tu accèdes aux champs de la page initiale :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs)
Handles Me.Load
Response.Write(CType(PreviousPage.FindControl("TextBox1"),
TextBox).Text)
End Sub


Si tu ne veux pas utiliser ce mécanisme, tu peux aussi utiliser
Server.Transfer en spécifiant True pour le 2ème paramètre (argument
"preserveForm") qui va transmettre à ta nouvelle page le formulaire.
Tu pourras ensuite y accéder à l'aide de "Request.Form" (et non
Response.Form)...

En espérant t'avoir aidé...

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"dav" a écrit dans le message de news:
u$
> Bonjour,
>
> Comment passer des paramètres d'une page à une autre en ASP.
> Par exemple récupérer des champs d'un formulaire à partir d'une autre
> page
> après un response.redirect par exemple.
> Apparemment le response.form ne marche pas. Ou alors le contrôle n'a
> pas
> le bon même nom....
>
> Merci pour vos idées.
>