Probleme de recuperation de donnees d'un formulaire cross post-back

Signaler
Messages postés
37
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
14 septembre 2009
-
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010
-
bonjour,

j'ai un probleme ,je n'arrive pas à récupérer les données dans  un formulaire pour les mettre sur une autre page
voici le code de ma 1ere page aspx

<%

@
Page
Language="C#"
MasterPageFile="~/MasterPage.master"
AutoEventWireup="true"
CodeFile="page1.aspx.cs"
Inherits="page1"
Title="page" %>
<

asp:Content
ID="Content1"
ContentPlaceHolderID="ContentPlaceHolderEntete"
Runat="Server">NOM
</asp:Content><

asp:Content
ID="Content2"
ContentPlaceHolderID="ContentPlaceHolderCentre"
Runat="Server">

<div
style="
height:
500px;
width:
650px;
">

<table
border="1"
style="vertical-align:
middle;
text-align:
center">

<tr>

<td
colspan="2"
style="height:
33px">

<asp:Label
ID="LblErreur"
runat="server"></asp:Label>

</td>

</tr>

<tr>

<td
style="width:
488px"> le

<asp:Label
ID="LblDate"
runat="server"></asp:Label>

</td>

<td
align="justify"
rowspan="2"
style="width:
auto">

<asp:DropDownList
ID="DDLEtatCivil"
runat="server">

<asp:ListItem
Value="Monsieur">Mr
</asp:ListItem>

<asp:ListItem
Value="Madame">Mme
</asp:ListItem>

</asp:DropDownList>

<asp:RequiredFieldValidator
ID="ReqFieldValEtatCivil"
runat="server"

ControlToValidate="DDLEtatCivil"
ErrorMessage="*"></asp:RequiredFieldValidator>

<asp:TextBox
ID="TxtBoxNom"
runat="server"
BorderStyle="None"

Width="154px"></asp:TextBox>

<asp:RequiredFieldValidator
ID="ReqFieldValNom"
runat="server"

ControlToValidate="TxtBoxNom"
ErrorMessage="*"></asp:RequiredFieldValidator>

<br
/>

<asp:TextBox
ID="TxtBoxAdr"
runat="server"
BorderStyle="None"

Width="223px"></asp:TextBox>

<asp:RequiredFieldValidator
ID="ReqFieldValAdr"
runat="server"

ControlToValidate="TxtBoxAdr"
ErrorMessage="*"></asp:RequiredFieldValidator>

<br
/>

<asp:TextBox
ID="TxtBoxCP"
runat="server"
Width="93px"></asp:TextBox>

<asp:RequiredFieldValidator
ID="ReqFieldValCP"
runat="server"

ControlToValidate="TxtBoxCP"
ErrorMessage="*"></asp:RequiredFieldValidator>

<asp:TextBox
ID="TxtBoxVille"
runat="server"
BorderStyle="None"></asp:TextBox>

<asp:RequiredFieldValidator
ID="ReqFieldValVille"
runat="server"

ControlToValidate="TxtBoxVille"
ErrorMessage="*"></asp:RequiredFieldValidator>

</td>

</tr>

<tr>

<td
style="width:
488px">Nø :

<asp:TextBox
ID="TxtBoxNum"
runat="server"
BorderStyle="None"
Width="193px"></asp:TextBox>

<asp:RequiredFieldValidator
ID="ReqFieldValNum"
runat="server"

ControlToValidate="TxtBoxNum"
ErrorMessage="*"></asp:RequiredFieldValidator>

</td>

<td
colspan="2">

<asp:Button
ID="BtnValid"
runat="server"
Text="Valider"
PostBackUrl="page2.aspx"
/>

</td>

</tr>

</table></

div></

asp:Content>

j'ai essayé de mettre le cross postback en haut de la 2eme page page2.aspx entre des balises <script> et ensuite de mettre dans le fichier page2.aspx.cs mais rien n'y fait en appuyant sur le bouton valider ,je vais bien sur la 2eme page mais les données entrées dans les textbox n'apparaissent pas dans les labels de ma 2eme page

dans le page load de ma 2eme page ,voici le code

if (!IsPostBack){

LblDate.Text =

DateTime.Now.ToShortDateString();}

if (
this.PreviousPage !=
null){

this.LblNom.Text =
"";

if ((
TextBox)PreviousPage.FindControl(
"TxtBoxNom") !=
null)

this.LblNom.Text += ((
TextBox)PreviousPage.FindControl(
"TxtBoxNom")).Text;

if ((
TextBox)PreviousPage.FindControl(
"TxtBoxAdrClient") !=
null)

this.LblAdresse.Text += ((
TextBox)PreviousPage.FindControl(
"TxtBoxAdr")).Text;

if ((
TextBox)PreviousPage.FindControl(
"TxtBoxCP") !=
null)

this.LblCP.Text += ((
TextBox)PreviousPage.FindControl(
"TxtBoxCP")).Text;

if ((
TextBox)PreviousPage.FindControl(
"TxtBoxVille") !=
null)

this.LblVille.Text += ((
TextBox)PreviousPage.FindControl(
"TxtBoxVille")).Text;

if ((
TextBox)PreviousPage.FindControl(
"TxtBoxNum") !=
null)

this.LblFacture.Text += ((
TextBox)PreviousPage.FindControl(
"TxtBoxNum")).Text;

je ne sais pas du tout ou est mon erreur ,je me suis pris la tete hier toute l'apres-midi dessus ,j'espere que vous serez m'aider

1 réponse

Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010

Bonjour,
je ne sais pas si ta question est d'actualitee
mais il n est jamais trop tard.
Deja j'ai trouve pour toi un peut de doc http://msdn.microsoft.com/fr-fr/library/ms178139(VS.80).aspx
il y a tout ce que tu as besoin et je crois meme ,mais j'ai pas trop eu le temps de tout  voir, qu 'il y a exactement ce que tu recherche,pour corriger tes erreurs.
Cette technique est pas mal pour faire des rassemblements de donnees vers une autre page ,comme ils disent sur msdn donc le lien.
Cependant je te suggere aussi une autre technique qui peut etre utile parfois mais a condition de l'utiliser avec precautions.
C'est les variables session qui elles,t'accompagnent tout au long de la duree de vie  d' une session d'un utilisateur
et partout dans le site car vu ta page aspx c est un site que tu fais,mais surtout n'oublie pas de faire des abandons de session a chaque fois que tu as termine de les utiliser car cela peut s'averer embetant pour la suite de ton processus.
Peut etre que tu connais deja cela mais au cas ou voici un exemple

1-La creer et la remplir


Session["TxtBoxNom"] = TxtBoxNom.ToString();

2- la recuperer et l inserer dans un autre control ou autre ,pourquoi pas dans une command pour une insertion a sql


Label1.Text=Session["TxtBoxNom"] .ToString();

ou




SqlCommand

cmd =


new





SqlCommand




cmd.Parameters.Add(





"@nom"

,


SqlDbType

.NVarChar).Value = Session[


"nom"

];



Voila j'espere que ces petites infos vont pouvoir t'aider un peut ou alors j'aurai essaye

bonne continuation et bon codage