[VB.NET] Problème de premier clic

Résolu
cs_dadou74 Messages postés 11 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 27 avril 2007 - 22 mars 2007 à 10:24
cs_dadou74 Messages postés 11 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 27 avril 2007 - 27 avril 2007 à 16:25
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

cs_dadou74 Messages postés 11 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 27 avril 2007 1
27 avril 2007 à 16:25
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.
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2007 à 15:45
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
0
cs_dadou74 Messages postés 11 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 27 avril 2007 1
26 mars 2007 à 11:06
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.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
27 mars 2007 à 00:35
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
0

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

Posez votre question
cs_dadou74 Messages postés 11 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 27 avril 2007 1
27 mars 2007 à 08:41
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 
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
30 mars 2007 à 09:49
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
0
Rejoignez-nous