begin process at 2012 05 27 17:38:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

PostBack

 > 

Comment ca marche


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment ca marche

jeudi 14 septembre 2006 à 14:07:16 | Comment ca marche

thonyboy

Bonjour,
Je me lance dans la programmation ASP/VB. J'utilise pour cela VS2005.

Je cherche a faire quelques chose de simple : Remplir un combo lors du load de la page, et lorsque l'utilisateur selectionne dans la combo afficher la valeur de celle ci dans un text box.
Et je n'y arrive pas

Dans mon code j'ai :

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
         NomList1.Items.Add("A")
         NomList1.Items.Add("B")
         NomList1.Items.Add("C")
         NomList1.Items.Add("D")
    End Sub


    Protected Sub NomList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles NomList1.SelectedIndexChanged
        Label1.Text = "eeee"
    End Sub
End Class


Au lancement ma comboliste est bien remplie avec A B C et D
Dans l'evenement de ma combo j'ai mis l'evenement SelectedIndexChange
Mais si je selectionne une valeur dans la combo mon label2 ne contient pas "eeeee"

Sauf si je met dans la propriete de la com Autopostback a True
Mais dans ce cas, ma combo contient A B C D A B C et D
En fait je me rend compte qu'il est repassé par la procédure Load

Donc ma question, comment ca marche ? Comment faire simplement ? Je cherche sur le net depuis ce matin, jetrouve plein de truc mais je comprends rien.
Qu'elle est la logique SVP

PS : C'est dur de débuter
jeudi 14 septembre 2006 à 21:33:25 | Re : Comment ca marche

poppyto

Membre Club Administrateur CodeS-SourceS
Mmm tu devrais te documenter sur le fameux "PostBack".
Quand tu es en mode PostBack (envoi de page avec la méthode HTTP "POST"), les contrôles contenu dans le ViewState sont sauvegardés et c'est pour ça que ton combobox est dédoublé.

Si pour toi viewstate/postback & co c'est du charabia, achète toi un petit bouquin ça fait vraiment pas de mal !

Poppyto
Cours de basse gratuits avec vidéos et ralentis
Cours de guitare gratuits avec vidéos et ralentis/A>
jeudi 14 septembre 2006 à 21:57:50 | Re : Comment ca marche

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,
Je suis tout à fait d'accord avec poppyto sur ce point, achète toi un bon gros bouquin sur ASP.NET 2.0 .

Sinon, pour répondre tout de même à ta question, dans ton PageLoad, mets :

If Page.IsPostBack Then
' et mets ici tout le code qui ne doit pas être ré-exécuté au rechargement de la page.
' dans ton cas tous les NomList1.Items.Add()
End If

A++


Nurgle (Antoine)
vendredi 15 septembre 2006 à 06:50:17 | Re : Comment ca marche

thonyboy

Bonjour, merci pour ces réponses.
Je vais suivre vos conseils et m'acheter un gros bouquin effectivement.

Je suis un ancien programmeur de Delphi, donc pour moi quand je dit qu'un evenement onchange doit executer la procedure x, il n'y a que X qui s'execute...
La c'est vrai que c'est un peu déroutant.

Donc en fait si je vous suis, quand je fait un postback  (puisque cela semble etre le seul moyen pour que onchange fonctionne), tout le code de ma page est executer ?
Il faut donc que dans chacune des procedures je fasse un test de pour savoir si c'est un postback, e également qui envoie ce postbak ?
C'est bien ca la logique ?

Il n'existe pas un genre de canevas, de squelette, qui pourait m'aider ?
vendredi 15 septembre 2006 à 08:35:20 | Re : Comment ca marche

Nurgle

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Euh non, quand la page est rechargée, tout les évènements du cycle de vide de la Page (PreInit, Init, Load, LoadComplete, PreRender, Render, et bien d'autres), ils sont tous réexécuté à chaque PostBack. Il ne faut pas oublier que tu fais du web, et que donc par conséquent tout fonctionne sous forme de requête : le client envoie une demande de la page, tu lui renvoies toute la page, il clique sur un bouton ou un truc du genre (-->PostBack), tu lui re-renvois toute la page, mais avec des trucs différents, etc...).

dans chaque évènement du cycle de vie de la Page tu dois tester si il y a eu oui ou non un PostBack.
Une petite correction tout de même, c'est :

If Not Page.IsPostBack Then
' et mets ici tout le code qui ne doit pas être ré-exécuté au rechargement de la page.
' dans ton cas tous les NomList1.Items.Add()
End If
' vu que toi tu ne veux pas que ça s'exécute au PostBack  (désolé, dans la précipitation, je l'avais oublié celui-là )

A++


Nurgle (Antoine)


Cette discussion est classée dans : marche, combo, add, items, nomlist1


Répondre à ce message

Sujets en rapport avec ce message

Evenements [ par dunkan ] Bonjour,J'ai un problème de gestion d'evenement sur ma page, je m'explique :Lorsque l'utilisateur selectionne une valeur dans une dropdown list, un po Pb affichage GridView [ par cnguyen ] Bonjour,J'ai 2 DropDownList(DDL) , une affichant les mois, et une affichant les années.C'est DDL sont remplis au chargement en faisant : if (!Page.IsP Serveur mail [ par Pepin21 ] Bonjour,voilà mon soucis : je voudrais envoyer des mails via mon appli. En serveur je lui donne "srv-mail" qui esst notre serveur local. Le problème c nombre d'items dans une checkboxlist [ par Oho2 ] Bonjour,J'ai une checkboxlist avec un élément "tous" de base. Je remplis ma checkboxlist avec une requête select. Tout s'affiche correctement. Mais qu Probleme Update Datagrid [ par toddy_101 ] Bonjour tout le monde,voila, j'ai un probleme avec mon datagrid, je veux afficher mes données à partir de ma BD, je veux utiliser une table intermedia OnrowCommand et gridview [ par fcampagne ] Bonjour a tousVoila je créer un gridview manuellement dans ma page asp et j'au ajouté une colonne de bouton (ButtonField)Jusque la pas de pb, ensuite Feuille de style dynamique [ par walterskinner ] Bonjour,Je souhaite changer de façon dynamique la feuille de style utilisé par ma page. Pour cela, je pensai utiliser les lignes suiva Link button asp.net [ par abdo_dotnet10 ] Salut tout le mondej'essaye de creer des linkButton d'une maniere dynamique, pour les 2 premiers ça marche(ça veux dire lorsque je clique sur le linkb Attributes.Add(...) sur un datagrid [ par visualresine ] J'essaie d'ajouter une action sur mon datagrid.Je voudrais afficher une msgbox (en javascript) lorsque je selectionne ma ligne en cliquant sur une col UserControl et XP [ par scortex84 ] Bonjour, J'utilise un UserControl développé en WINFORM dans une WEBFORM ASP.NET. Je le reference en HTML dans la page de la façon suivante : </


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales