Problème de FORM! [Résolu]

Signaler
Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007
-
Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007
-
BOnjour!
je suis novice en asp.net2 alors j'ai besoin d'aide :S

alors j'ai une masterpage qui est associée à toutes les pages de mon projet.

J'arrive pas a mettre des balises form dans les pages du projet... (il y en a déja 1 dans le masterpage)
Comment puis-je alors faire des postback et tout le traintrain (équivalent des post d'asp si je ne m'abuse)..

est-il possible de les imbriquer avec une technique ou quel est le bon moyen? merci

8 réponses

Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007

Ce que vous avez dit je le sais ^^

Je viens de régler mon pb!

(type_de_mon _controle)Page.PreviousPage.FindControl("id_de_mon_controle") me renvoyait null

car il fallait que je passe par ma master page pour accéder aux controles de la page précédente (liée à la masterpage)


TextBox tb = PreviousPage.Master.FindControl("ContentPlaceHolder1").FindControl(
"TextBox1")
as
TextBox;

voila ça tourne ^^ , merci a tous en tt cas ! :D
Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007

Je pense avoir résolu mon pb!
Dites moi juste si c'est la bonne méthode? merci

je mets ce morceau de ccode dans le page_load de la page qui doit envoyer les infos:

string reference = Page.ClientScript.GetPostBackEventReference


(
new
PostBackOptions(
this,
"",
"la_page_ou_aller.aspx",
false,
true,
false,
true,
false,
""));


ma_grid.Attributes.Add(
"onclick", reference);

COmment faire maintenant pour récupérer les valeurs des champs de ma page courante sur la_page_ou_aller.aspx...
un autre pb ^^ quelqu'un sait?
Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007

ARGH!
j'essaie a la méthode ASP avec 1 request.form
mais ca mache pas!

Request.Form[
"id_de_mon_controle"];

qlqu'un peut m'aider? merci
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour

Euh ????

Si t'as la balise form dans le master page (ce qui est la bonne solution) pourquoi vouloir rajouter une autre balise form ?

tu n'as qu'a mettre des boutons dans la page fille et ca suffit :)


<HR>
Cyril - MVS - MCP ASP
Messages postés
52
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2007

je n'arrive pas a recuperer la valeur des controles de ma page précédente

Request.Form["id_de_mon_controle"]; ne marche pas!

(type_de_mon _controle)Page.PreviousPage.FindControl("id_de_mon_controle")
-> ne fonctionne pas non plus !
je reçois 'null object blabla" comme erreur!!!

pourtant j'ai vu que ct la bonne méthode :S

alors quand j'ai une page "normale" j'arrive a récupérer les controles
et quand c'est une page qui est associée a un masterpage j'arrive pas... pourquoi?
(si tu sais ^^ TU ES BALESE! )
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut,
Un postback se fait le plus souvent sur la page elle-même, pas sur une autre page !
En plus, le Request.Form[] ne sert plus à rien en asp.net (enfin presque plus...) : tu n'as qu'à récupérer la propriété Text du champ concerné !!

Dans ta page tu mets un Textbox qui a pour ID "Textbox1" et Button qui a pour ID "Button1".
Tu voudrais avoir accès au contenu de la textbox quand on clique sur le bouton.
Et bien tu vas faire ceci, toujours dans la même page :

void Button1_Click(object sender, EventArgs e)
{
string leContenuDeTaTextBox;
// voilà comment tu récupères le contenu :
leContenuDeTaTextBox = this.TextBox1.Text;
// et c'est aussi simple que ça !
}
En rajoutant dans le page_load ou dans le page_init :
this.TextBox1.Click += new EventHandler(TextBox1_Click);

Dans ton cas tu n'as qu'à faire cela dans une void associée à l'évènement ma_grid.Click
Il faudrait oublier le principe utilisé en ASP qui était de faire des requêtes POST vers d'autres pages. En asp.net, sauf certains cas particuliers, il n'y a aucunement besoin de faire un postback vers une autre page : tout le traitement se fait dans le code-behind de la page elle-même, dans les méthodes associées aux évènements de tes contrôles.

Nurgle
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Nurgle, oui pour asp.net 1.0 oui et non pour .net 2 ;)

voici un article sur les cross page postback :)

http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.button.postbackurl.aspx#


<HR>
Cyril - MVS - MCP ASP
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
je sais, je sais... cyril
J'ai pas dit que les cross page postback n'existait pas, mais quand on est débutant, même en asp.net2 (je sais je l'ai été, et je le suis peut être encore...), c'est quand même mieux d'essayer de comprendre et d'utiliser la manière la plus simple avant de se lancer dans les crosspage postback...
A moins qu'il ait des besoins hyper-particulier, du genre...centraliser les postback de plusieurs page sur la même, etc..., à part ça c'est quand même plus simple de faire tel que c'était en .NET 1.x... non ?

Nurgle