Accueil > Forum > > > > Deux Clic au lieu de un seul
Deux Clic au lieu de un seul
mardi 19 septembre 2006 à 10:59:47 |
Deux Clic au lieu de un seul

darkolite
|
Bonjour, J'ai un souci sur mes pages asp.net 1.1. Je ne comprend pas pourquoi lorsque je recharge une page aspx ou un controle ascx il faut d'abord déclancher un clic sur un bouton pour que les autres boutons fonctionnent. A chaque fois il faut faire un clic qui sert a rien ce qui "libère" la page et tout fonctionne bien apres. Mais ce premier clic m'embete, car il ne sert a rien. Est ce que quelqu'un a déja eu ce genre de problème ? Lorsque je fait mon premier clic, il y a comme une sorte de postback ou de rafraichissement, ce qui a l'air de rentre actif tous les controls de la page. Je pige pas. Yann
|
|
mardi 19 septembre 2006 à 13:22:58 |
Re : Deux Clic au lieu de un seul

crilun
|
crilun
j'ai déja eu le meme probleme, tu as un control utilisateur (ascx) dasn ta page (apsx) c'est bien ca? et quand tu charge ta page le premier coup tes controls ne sont pas actif, en fait ils ne sont pas relié au code behind. et je suppose que tu charges dynamiquement ton control dans ta page
voici donc un exmple dans le cas d'un formulaire avec un dropdownlist pour choisir le control que tu veut afficher dans ta page :
'en haut de ta classe Public bControlChange As Boolean = False
'tout d'abord surcharge la methode : CreateChildControls
'Surcharge de la creation des controls fils Protected Overrides Sub CreateChildControls() 'on recree ici les controls dans le cas d'un post-back If Page.IsPostBack And bControlChange = False Then ctl = Me.LoadControl(chemin du control) ctl.EnableViewState = True ctl.ID = 46 Me.Controls.Add(ctl) End If End Sub
'Sur changement de valeur du dropdownlist : Public Sub loadFormulaireControl(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim txtNumMag, txtPost As System.Web.UI.WebControls.TextBox Try 'on supprime l'ancien control Me.Controls.Remove(ctl) 'On Affiche le nouveau ctl = Me.LoadControl(cheminducontrolselectionné) ctl.EnableViewState = True ctl.ID = 412 Me.Controls.Add(ctl) Me.ViewState.Remove("myUC_ViewState") 'On efface le contenu du viewState pour le control actuel bControlChange = True Catch ex As Exception Response.Write("Changement de Control : " & vbCrLf & ex.Message) Exit Sub End Try End Sub
'dans le load de la page : 'Ceci afin de charger au premier chargement de la page le premier control de la liste si il y a If Not Page.IsPostBack Then If Me.monDropDownList.Items.Count > 0 Then ctl = Me.LoadControl(Me.monDropDownList.SelectedValue) ctl.EnableViewState = True ctl.ID = 412 Me.Controls.Add(ctl) End If End If
Voila j'espere que ca t'aidera
|
|
mardi 19 septembre 2006 à 14:50:40 |
Re : Deux Clic au lieu de un seul

darkolite
|
Merci Crilun
Mon probleme tu l'as bien résumé: J'ai un control utilisateur (ascx) dans une page (apsx). et quand je charge la page le premier coup mes controls ne sont pas actif mais quand meme visible, en fait ils ne sont pas relié au code behind (ca m'en a tous l'air, un break point placé dans l'evenement click du bouton n'est pas appelé lors du premier clic). Je charges dynamiquement mon control dans ta page
Mais je pige rien a ce que fait ton code. Je n'ai pas besoin de recharger quoi que ce soit, je veux juste que mon bouton reagisse du premier coup, et pas du deuxieme.
Que faudrait il faire pour que celui ci reagisse directement, en c# ?
En tout cas un grand merci pour ta réponse.
Yann
|
|
mardi 19 septembre 2006 à 16:39:06 |
Re : Deux Clic au lieu de un seul

crilun
|
crilun
oui j'avais bien compris que ton pb c'est que ton control marche du premier coup sans rechargement. donc apparement dans ton cas tu ne le change jamais tu as un control que tu charges et c'est toujours le meme.
donc en fait je te remets juste le code dont tu as besoin et je t'explique
au load : If Not Page.IsPostBack then 'charger juste la premiere fois sinon nouveau control charger a chaque fois ctl = Me.LoadControl(chemin du control) ctl.EnableViewState = True 'Permet au control de reposter son etat ctl.ID = 46 'identificateur de mon control qui doit rester le meme afin que mon aspx sache qu'il s'agit du meme control a chaque post Me.Controls.Add(ctl)
end if
'Surcharge de la creation des controls fils 'ceci est une methode existant deja elle est appelé automatiquement lors de la creation d'un control tu ne fais ici que la surcharger 'C'est principalement grace à cette methode que tu va pouvoir declencher ton control du premier coup
Protected Overrides Sub CreateChildControls() 'on recree ici les controls dans le cas d'un post-back If Page.IsPostBack Then ctl = Me.LoadControl(chemin du control) ctl.EnableViewState = True ctl.ID = 46 Me.Controls.Add(ctl) End If End Sub
donc en gros voila ce qui v ase passer : *premier chargement : tu passes dans le load tu charges ton control, tu lui affectes un ID dans CreateChildControls Page.IsPostBack=false=>Ne fait rien *Tu clic sur un bouton de ton control : tu passes dans le load Page.IsPostBack=true=>ne fait rien dans CreateChildControls Page.IsPostBack=true=>donc recree le control MAIS avec le meme ID que precedement , OR la propriété enableViewState du control precedent est toujours en memoire et meme ID pour le control de depart et celui qui vient d'etre rechargé donc effectue le codeBehind lié au control precedent pour le nouveau control.
bon je suis pas tres pedagogue je l'avoue, donc si tu ne comprends pas mes explications dit le mois.
ci@o++
|
|
mardi 19 septembre 2006 à 17:30:07 |
Re : Deux Clic au lieu de un seul

darkolite
|
Si j'ai tout pigé.
Merci beaucoup m'en vais voir si ca marche.
Yann
|
|
Cette discussion est classée dans : clic, page, sert, lieu, premier
Répondre à ce message
Sujets en rapport avec ce message
[VB.NET] Problème de premier clic [ par dadou74 ]
Bonjour,mon site web comporte une page sur laquelle sont présents entre autres des check-box et des boutons.Ces éléments sont contenus dans des panels
filtrer pageASP N°2 par clic sur lien dans pageASP N°1 [ par cydut ]
je souhaite afficher une page asp avec base de données access FILTREE sur clic d'une autre page asp (le lien = le choix bref le filtre à prendre en co
datagrid vide [ par Poulipe ]
Bonjour,Je voudrais savoir dans quelles circonstances un Datagrid, apres un clic sur une ligne de celui-ci, se retrouve vide.je m explique :j ai dans
Sélection sur dropdownlist [ par atmeitsatme ]
Bonjour, J'ais sur m'a page plusieurs dropdownlist.Quand j'en sélectionne une, l'autre passe à Enabled = true.Cela marche bien.Mon problème : J'ais
Bouton : Rechargement de page [ par meninblate ]
Bonjour,J'aimerais simplement que le clic sur un bouton n'entraîne pas le rechargement de la page.Car dans mon code j'ai une variable de type "ArrayLi
page précédente [ par Jula ]
coucou tout le monde!est-il possible de "bloquer" les boutons du navigateur pour interdire les retour à la prage précédente ou suivanteparce que j'uti
céclaration de variable [ par perce ]
J'ai un petit soucisJe developpe depuis 1 mois en asp C#je déclare plusieurs variables private à une page (je devrais pouvoir les utiliser dans toutes
Plusieurs Load sur clic d'un bouton [ par Ishizaki ]
Bonjour, j'ai un petit souci, sur clic d'un LinkButton, ma page se recharge 2 fois au lieu d'une...J'ai bien essayé de gérer tout ça avec un IsPostBac
Master Page - A quoi ca sert ? [ par cbu ]
Bonjour,je voulais savoir à quoi servait une Master Page ou savoir où trouver l'info..Merci
linkbutton marche qu'au deuxieme clic [ par Elizzzz ]
Bonjour a tous, je viens vous demander votre aide pour un petit problème que je n'arrive pas a résoudre. je fais actuellement site web en asp.net, et
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|