Problème de FORM!

Résolu
shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007 - 12 janv. 2006 à 09:02
shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007 - 13 janv. 2006 à 10:26
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

shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007
13 janv. 2006 à 10:26
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
3
shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2006 à 09:34
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?
0
shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2006 à 10:05
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 janv. 2006 à 14:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shitboypark Messages postés 52 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2006 à 15:38
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! )
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
12 janv. 2006 à 21:21
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 janv. 2006 à 23:10
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
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
13 janv. 2006 à 08:05
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
0
Rejoignez-nous