IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[Click]Mystère total sur un click


Sujet :

ASP.NET

  1. #1
    Membre éprouvé Avatar de nicO1077
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut [Click]Mystère total sur un click
    Bonjour,

    Il se trouve que je me casse la tête sur un problème vraiment mystérieux pour lequel je n'ai toujours pas trouvé de solution. Jugez par vous même...

    Problème : J'ai un module avec une textbox et un bouton. Celui-ci a un comportement vraiment bizarre.

    Observations : Je ne suis pas identifié, la méthode associé au bouton n'est pas appelée sous IE6 et IE7, mais est appelée sous firefox. je m'identifie alors, la méthode est cette fois appelée sous IE6, IE7 et FF.

    Mes tests :
    J'ai mis un breakpoint sur le load, l'InitializeComponent et la fonction qui doit être déclenchée par le click sur le bouton. Pour être sur que l'événement click est associé à cette méthode, j'ai doublé l'enregistrement de l'event. En plus de se faire dans l'InitializeComponent de la page, je le fais également dans le load. Je veux parler de cette ligne de code ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.RechercheSubmit.Click += new System.Web.UI.ImageClickEventHandler(this.RechercheSubmit_Click);


    Voici les arrêts que j'ai obtenu au debug pour 3 navigateurs :


    Sous Firefox :
    A l'accès de la page :
    • InitializeComponent
    • Page_Load


    Je click sur le bouton, je ne suis pas identifié :
    • InitializeComponent
    • Page_Load
    • Evénement capté et traité : Appel BDD
    • InitializeComponent
    • Page_Load


    Je m'identifie :
    • InitializeComponent
    • Page_Load
    • Process d'identification : Appel BDD
    • InitializeComponent
    • Page_Load


    Je click sur le bouton, je suis identifé :
    • InitializeComponent
    • Page_Load
    • Evénement capté et traité : Appel BDD
    • InitializeComponent
    • Page_Load



    Sous IE 6 et 7 :

    A l'accès de la page :
    • InitializeComponent
    • Page_Load


    Je click sur le bouton, je ne suis pas identifié :
    • Rien se passe ! L'évenement n'est même pas capté !


    Je m'identifie :
    • InitializeComponent
    • Page_Load
    • Process d'identification : Appel BDD
    • InitializeComponent
    • Page_Load


    Je click sur le bouton, je suis identifé :
    • InitializeComponent
    • Page_Load
    • Evénement capté et traité : Appel BDD
    • InitializeComponent
    • Page_Load


    Enfin 2 dernières informations :
    • J'ai prévu le coup des css foireux, j'ai donc testé aussi en mettant le module carrément en bas de la page après tout les contenus, et les résultats sont les mêmes !
    • Dernière chose, la textbox sous IE6 et 7 lorsque je suis pas identifié, j'ai l'impression qu'elle pas vraiment initialisé je ne sais pas pourquoi. Car si j'ai déjà fait une recherche la saisie semi-automatique ne s'affiche pas. Or une fois identifié, elle s'affiche.


    Quelqu'un a une idée farfelue svp ?

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    As-tu essayé de remplacer ton ImageButton par un simple Button pour voir si le comportement est identique ?

  3. #3
    Membre éprouvé Avatar de nicO1077
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Je viens d'essayé par un simple Button, en supprimant également la surcharge sur l'eventhandler, et en attribuant classiquement un OnClick par le designer.

    ça me fait exactement la même chose...

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Utilises tu le seveur cassini de VS ou un site IIS?

  5. #5
    Membre éprouvé Avatar de nicO1077
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Citation Envoyé par Arthis Voir le message
    Utilises tu le seveur cassini de VS ou un site IIS?
    Le problème et les observations sont exactement les mêmes sur le serveur de VS qu'une fois mis en production sur IIS

  6. #6
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Le code complet de ta page est trop volumineux ou tu peux le mettre ici ?

  7. #7
    Membre éprouvé Avatar de nicO1077
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Le code recherche.ascx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ Control Language="c#" Inherits="EMFront.module.recherche" CodeFile="recherche.ascx.cs" %>
    <asp:TextBox ID="txtRecherche" Enabled="true" runat="server" TextMode="SingleLine" Text="Recherche rapide" MaxLength="19" CssClass="txtboxRech">Recherche rapide</asp:TextBox>
    <asp:ImageButton ID="RechercheSubmit" CssClass="btnRech" ToolTip="Lancer la recherche" ImageUrl="../images/menu/bt_recherche.gif" runat="server" />
    le code behind associé recherche.ascx.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    namespace EMFront.module
    {
        using System;
        using System.Data;
        using System.Drawing;
        using System.Web;
        using System.Web.UI.WebControls;
        using System.Web.UI.HtmlControls;
     
        using EM.Web;
     
        /// <summary>
        /// Description résumée de recherche.
        /// </summary>
        public partial class recherche : EM.Web.ModuleBase
        {
     
            protected void Page_Load(object sender, System.EventArgs e)
            {
                if (!Page.IsPostBack && Request.RawUrl.ToString().IndexOf("recherche1.aspx") > -1)
                {
                    txtRecherche.Text = base.getVariableSession("MotCle");
                }
     
                txtRecherche.Attributes.Add("onFocus", "if (this.value=='Recherche rapide') this.value=''");
                txtRecherche.Attributes.Add("onBlur", "if (this.value=='') this.value='Recherche rapide'");
                this.RechercheSubmit.Click += new System.Web.UI.ImageClickEventHandler(this.RechercheSubmit_Click);
            }
     
            #region Code généré par le Concepteur Web Form
            override protected void OnInit(EventArgs e)
            {
                //
                // CODEGEN*: Cet appel est requis par le Concepteur Web Form ASP.NET.
                //
                InitializeComponent();
                base.OnInit(e);
            }
     
            /// <summary>
            ///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
            ///		le contenu de cette méthode avec l'éditeur de code.
            /// </summary>
            private void InitializeComponent()
            {
                this.RechercheSubmit.Click += new System.Web.UI.ImageClickEventHandler(this.RechercheSubmit_Click);
            }
            #endregion
     
            protected void RechercheSubmit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
            {
                string strMotCle = txtRecherche.Text;
                if (strMotCle.IndexOf(" ") > -1)
                {
                    strMotCle = strMotCle.Substring(0, strMotCle.IndexOf(" "));
                }
                base.setVariableSession("MotCle", strMotCle);
                base.setVariableSession("TypeRecherche", "0");
     
                Response.Redirect("recherche1.aspx");
            }
        }
    }
    EDIT :
    Je viens de faire un test de fou :

    j'ai supprimé tout le contenu de la page sauf ce module de recherche !

    J'ai obtenu un résultat surprenant :

    Sous Firefox : Comme avant
    • Je tape un mot
    • Je clic sur le bouton
    • La recherche se fait de suite
    • Je suis redirigé sur ma page de résultat.


    Sous IE6 et IE 7 : surprenant !!!
    • Je tape un mot
    • Je clic sur le bouton
    • Y'a comme un refresh de la page, le formulaire est soumis donc, seulement en fait ça reload la même page
    • Je relance la recherche en cliquant sur mon bouton et là seulement la recherche est lancée !

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    C'est pas un peu tordu comme façon de lancer une recherche?

    Pourquoi stocker les termes cherchés dans une sessions?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre éprouvé Avatar de nicO1077
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Salut,

    C'est pas un peu tordu comme façon de lancer une recherche?

    Pourquoi stocker les termes cherchés dans une sessions?

    A+
    Ce n'est pas moi qui ai développé ce site à la base, je le reprend. Si les termes sont en sessions c'est parce qu'ils resservent ailleurs dans le site pour des stats de recherche et à d'autres endroits encore.

    Et puis même session ou non, j'ai testé en mettant du commentaire partout c'est pareil. Non ce n'est pas là que se situe le problème, puisque le click ne fonctionne pas pareil entre Firefox et IE c'est ça que je veux comprendre pour résoudre le soucis. Comme si quelque chose n'était pas géré pareil entre Firefox et IE (comme d'habitude quoi)

    Là c'est un problème qui me dépasse...

  10. #10
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Là c'est un problème qui me dépasse...
    On comprend mal aussi.
    Dans ces cas là, j'ai aussi ce genre de situations, il ne faut pas hésiter à reprendre le problème plus simplement, voir de zéro et remettre le code que petit à petit pour voir le moment où ça casse.
    Citation Envoyé par nicO1077 Voir le message
    j'ai supprimé tout le contenu de la page sauf ce module de recherche !
    Est-ce que tu peux recommencer sur une page vierge? Créés une nouvelle page et ajoute le web user control de recherche. Que se passe-t-il?

    Est-ce que ce ne serait pas possible de faire cette recherche sur une seul page plutôt que de rediriger "Response.Redirect("recherche1.aspx");" ?

    Le champs de saisie, le bouton, le résultat en dessous?

    Tu travailles avec quel framework?
    C'est quoi le namespace "EM", un truc à vous?
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [C#] [TreeView] [contextMenu] selection sur un click droit
    Par weejungle dans le forum Windows Forms
    Réponses: 25
    Dernier message: 03/08/2009, 11h52
  2. Afficher des JtexPane sur un click dune JLIST
    Par icicmoi dans le forum Composants
    Réponses: 3
    Dernier message: 14/06/2007, 08h04
  3. [vb.net] click et enter sur un bouton
    Par olbi dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/03/2007, 18h51
  4. Afficher un menu contextuelle sur le click droit d'une image
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/01/2006, 12h19
  5. Question sur double click
    Par cjacquel dans le forum MFC
    Réponses: 2
    Dernier message: 30/04/2005, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo