Cross PostBack : quelques questions

mezthium Messages postés 23 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 2 avril 2008 - 26 juil. 2007 à 16:12
mezthium Messages postés 23 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 2 avril 2008 - 26 juil. 2007 à 16:33
Bonjour,
Je debute dans l'ASP.NET et je galère un peu avec le passage de paramètres en méthode POST grâce au Cross-postback.

Deja, J'ai essayé un exemple simple : dans ma page page1.aspx j'ai une textbox : TextBoxCode, et je voudrais afficher son contenu dans un label de ma page2.aspx.
J'ai donc fait un bouton dans ma page1.aspx avec un PostBackUrl = "page2.aspx", et dans la fonction Page_Load de ma page2.aspx j'ai mis :

   if (PreviousPage!=
null) 
{

      TextBox box = (
TextBox)Page.PreviousPage.FindControl(
"TextBoxCode");
      Label1.Text = box.Text;

}

A l'execution, ca rentre bien dans ma boucle mais ca me déclenche une erreur : La référence d'objet n'est pas définie à une instance d'un objet.
Je comprend pas ce que j'ai loupé.

Et sinon en fait, je comprend moyen le principe  :
bon avec un postback : quand je clique sur mon bouton, les données de ma page sont envoyées au serveur web, traitées si besoin, et renvoyées a ma page, et ma page est rechargée avec ces données, c'est ca ?
Et le fait de faire un cross postback ca entraine : quand je clique sur mon bouton, les données sont envoyées au serveur et renvoyées sur page2.aspx au lieu de page1.aspx ?

Si quelqu'un pouvait m'éclairer ...
Merci !!

1 réponse

mezthium Messages postés 23 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 2 avril 2008
26 juil. 2007 à 16:33
J'ai trouvé ! en fait, j'utilise une master page et j'avais oublié de le prendre en compte dans le PreviousPage : 
               TextBox box = (
TextBox)Page.PreviousPage.Master.FindControl(
"Main").FindControl(
"TextBoxCode")

Par contre si quelqu'un pouvait m'éclairer ma lanterne sur un point, ca serait bien quand même !!!

Quelles données sont renvoyées vers ma page page2.aspx , grace au crosspostback?
Toutes celles de ma page1 ? (c'est à dire : les textbox, label, gridview etc ).
 Dans ce cas, on devrait pouvoir y accéder directement dans ma page2 non?  et pas chercher dans la page1 par un findcontrol .. c'est ca que je comprend pas trop.

Merki !
0
Rejoignez-nous