[VB.NET] Problème de premier clic

[Résolu]
Signaler
Messages postés
11
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
27 avril 2007
-
Messages postés
11
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
27 avril 2007
-
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 et ont la propriété AutoPostBack=true.
Mon souci est que le premier clic sur un de ces éléments ne déclenche pas l'événement associé Chk..._CheckedChanged mais il passe bien dans le Page_Load dans le IsPostBack.
En revanche dès le deuxième clic tout se passe bien.
Je tourne en rond depuis un moment mais je n'arrive pas à voir d'où vient mon problème.
Ma page contient également des updatePanel mais le problème survient même si je les enlève.
Si quelqu'un a une idée merci bien.

<!-- / message -->

6 réponses

Messages postés
11
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
27 avril 2007
1
Il semble en fait que le problème vienne des RadioButton qui étaient liés par l'attribut GroupName.
Ces derniers ont été remplacés par des RadioButtonList et le problème ne se produit plus.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
Bonjour,

rajoutes tu ces controles dynamiquement ? si c'est le cas le problème est normal il faut les rajouter dans le page_init.

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
11
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
27 avril 2007
1
Mes contrôles sont présents dans la page, ils sont déclarés dans le .apsx.
La propriété checked n'est pas initialisée donc est à false par défaut.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
On peut voir un peu de code ?

Page.IsPostBack vaut bien true lors du click sur les checkbox ? que vaut Request.Forms["__EVENTTARGET"] la meme chose que cb.ClientID ?

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
11
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
27 avril 2007
1
Bonjour,
je viens de faire les tests que tu m'as demandé, en cliquant sur la checkBox nommée ChkIT :
  Request.Form("__EVENTTARGET")          "ChkIT" 
  chkit.ClientID                                               "ChkIT"
  Page.IsPostBack                                          True 

Tout semble correct mais pour autant il ne passe pas dans cet évenement :




Protected
Sub ChkIT_CheckedChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles ChkIT.CheckedChanged





   If _Type.Contains(GQGGraphe.STR_GRAPH_HISTOGRAMME)


Then
      _Graph.SetOptionsGrapheBool(Histo.OPT_IT, ChkIT.Checked)
      _Graph.SetOptionsGraphe(Histo.OPT_NB_CLASSES, "0")
      _Graph.SetOptionsGraphe(Histo.OPT_INTERVALLES_CLASSES, "0")
      SessionInfoSave()
   EndIf





End



Sub


Alors qu'il est bien passé dans le PageLoad:





Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.Load
   _Id = Request.QueryString(
"Id")

   If _Id
Is
Nothing
Then
      Response.Redirect(Response.ApplyAppPathModifier(
"~/Default.aspx"),
True)

   End
If

   If
Not IsPostBack
Then
      SessionInfoDelete()
      FillTypeListeAndLayoutValue(Request.QueryString(
"Type"))

      If CurrentUser
IsNot
Nothing
Then
         _GraphTitle = CurrentUser.Translation.getTranslation(CurrentUser,
"Graph_" & _Type(0))

      End
If
      Dim vIdCaracsCtrl
As
String = Request.QueryString(
"IdCaracsCtrl")

      If Len(vIdCaracsCtrl) = 0
Then
         Response.Redirect(Response.ApplyAppPathModifier(
"~/Default.aspx"),
True)

      End
If








     
_Zoom =

CInt
(Request.QueryString(

"Zoom"
))


      If
_Zoom > 0

Then

         searchCaracsCtrl(vIdCaracsCtrl,

True
,

False
)


      Else

         searchCaracsCtrl(vIdCaracsCtrl,

True
)


      End



If

      FillDdlFont()
      fillDdlSize(ddlSizeAxe, GQGGraphe.OPT_FONT_SIZE_AXIS)
      fillDdlSize(ddlSizeLabel, GQGGraphe.OPT_FONT_SIZE_LABEL)
      fillDdlSize(ddlSizeLegend, GQGGraphe.OPT_FONT_SIZE_LEGEND)
      fillDdlSize(ddlSizeTitle, GQGGraphe.OPT_FONT_SIZE_TITLE)
      fillDdlStyle()
      fillDdlFilmCarte()


   
   Else

      _Zoom =

False

      SessionInfoLoad()


      majControl()
      majGrilleData()


      
upUndergraph.Update()
      

If
ddlResize.SelectedValue <> 100

Then

         MasterPan.Height = MasterPan.Height * ddlResize.SelectedValue / 100
         MasterPan.Width = MasterPan.Width * ddlResize.SelectedValue / 100
         ddlResize.SelectedValue = 100



         End



If

   End



If






End



Sub

En revanche si je re-clique sur ma checkBox il passera dans les 2 événements, je n'y comprends rien 
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
Ta checkbox est bien présent dans le page_init avec le bon ID ?

regarde au niveau de fiddler pour les requetes HTTP

<hr />Cyril - MSP - MCTS ASP.net & SQL