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 :

[ASP.NET/C#]Imagebutton marche sous Firefox pas sous IE


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 [ASP.NET/C#]Imagebutton marche sous Firefox pas sous IE
    Bonsoir,

    Je dois reprendre un site asp.net développé par d'autres.

    Je commence à m'arracher les cheveux, ça fait une semaine je cherche partout, je ne trouve pas la solution à mon problème, pourtant c'est un problème apparemment très très récurrent pour beaucoup.

    J'ai une page home.aspx dans lequel j'ai un module recherche.ascx.
    Dans ce module recherche, je n'ai que 2 choses :
    • 1 Textbox
    • 1 ImageButton


    Mon problème ô combien mystérieux est le suivant : Sous firefox niquel, mais une fois passé sous IE 6 ou 7 d'ailleurs...bin..... rien ! Mais rien du tout...

    Mon clic n'est même pas pris en compte ! Il y a bien la main pour montrer que l'on peut cliquer dessus, mais strictement rien ne se fait quand je clic dessus.. j'ai l'impression que sous IE il ne s'agit même plus d'un bouton !

    J'ai parcouru des centaines de sites qui parlait de EnableEventValidation (y compris sur developpez.com), les personnes ayant développés ce site très complexe ont par défaut configuré dans le web.config ce paramètre de sécurité à False.

    Est-ce que quelqu'un aurait une idée s'il vous plait ?

    nicO1077

  2. #2
    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,

    Que se passe-t-il avec le debugger?
    Un peu de code serait bien venu.

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

  3. #3
    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
    N'y aurait-il pas un problème de z-index pour tes composants ? A priori, je commencerais par regarder de ce côté là...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 145
    Par défaut
    Mets ton code et ton css.

  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
    Bonjour,

    Merci déjà à ceux qui m'ont répondu.

    Je dois avouer que ça me surprend beaucoup j'ai l'impression d'être revenu au moment où j'ai commencer le .net Y_Y Ils ont développés comme des porcs ceux d'avant....

    Lorsque je debug, sous firefox, aucun souci je clic sur le bouton la méthode associée est appelée correctement.
    Sous IE6 et IE7, la méthode n'est pas appelée. Comme si l'évènement n'étais pas déclenché sous IE 6 ou 7.

    Un fichier home.aspx qui contient un header.ascx qui lui contient un autre module recherche.ascx qui présente l'imagebutton et la textbox.

    Mon fichier home.apsx :
    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
    <%@ Page Language="c#" Inherits="EMFront.aspx.home" CodeFile="home.aspx.cs" %>
    <%@ Register TagPrefix="uc1" TagName="headernew" Src="../module/headerNew.ascx" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Tout pour le peintre</title>
        <link href="../css/main.css" type="text/css" rel="stylesheet" />
        <link rel="stylesheet" media="screen" type="text/css" href="../css/home.css" />
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script language="JavaScript" src="../js/AC_RunActiveContent.js" type="text/javascript"></script>
     
        <script type="text/JavaScript">
        function MM_openBrWindow(theURL,winName,features) 
        {
          window.open(theURL,winName,features);
        }
        </script>
     
    </head>
    <body>
       <form id="form1" runat="server">
          <div id="structure">
             <div id="partie_gauche">
                <%--Module header contient panier, recherche et login--%>
                <div id="haut">
                   <uc1:headernew ID="ModuleHeaderNew" runat="server" />
                </div>
             </div>
             <!--fermeture div partie_gauche-->
     
             [...]        
     
          </div>
          <!--fermeture div structure-->
       </form>
    </body>
    </html>
    Voici le source du header.ascx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%@ Control Language="c#" Inherits="EMFront.module.headerNew" CodeFile="headerNew.ascx.cs" %>
    <%@ Register TagPrefix="uc1" TagName="recherche" Src="../module/recherche.ascx" %>
    <div id="recherche">
        <!--Div du champ recherche-->
        <!-- ************** MODULE RECHERCHE ************** -->
        <uc1:recherche ID="ModuleRecherche" runat="server" />
        <!-- ************** END MODULE RECHERCHE ************** -->
    </div>
    Voici le code du recherche.ascx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ Control Language="c#" Inherits="EMFront.module.recherche" CodeFile="recherche.ascx.cs" %>
    <table width="100" border="0" cellspacing="0" cellpadding="0">
    	<tbody>
    		<tr>
    			<td width="120">
    				<asp:textbox ID="txtRecherche" Enabled="true" runat="server" TextMode="SingleLine" Text="Recherche rapide" width="110"
    					 MaxLength="18" CssClass="recherche">Recherche rapide</asp:textbox>
     
    			<td width="36">
    				<asp:imagebutton ID="RechercheSubmit" ToolTip="Lancer la recherche" ImageUrl="../images/menu/bt_recherche.gif" runat="server" /></td>
    		</tr>
    	</tbody>
    </table>
    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
    64
    65
    66
    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("catrech1.aspx")>-1)
    			{
    				txtRecherche.Text = base.getVariableSession("MotCle");
    				//RechercheList.Items.FindByValue(base.getVariableSession("TypeRecherche")).Selected = true;
    			}
     
     
    			txtRecherche.Attributes.Add("onFocus","if (this.value=='Recherche rapide') this.value=''");
    			txtRecherche.Attributes.Add("onBlur","if (this.value=='') this.value='Recherche rapide'");
     
    		}
     
    		#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("catrech1.aspx");
    		}
    	}
    }
    Enfin concernant la partie css, à aucun moment du site est employé les z-index.

  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
    Est-ce que tu utilises des règles de positionnement en css (absolute, relative, etc.) ?

  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
    A d'autres endroits du site probablement, mais pas sur cette partie qui constitue le header.

    J'ai pensé à plusieurs causes, peut-être vous pourriez me dire si je fais fausse route ou non.

    Le site était probablement fait sur le framework 1.x, ce qui explique peut-être pourquoi on ne passe pas par un onclick pour l'appelle à la fonction de l'imagebutton. Est-ce que ça pourrais venir de ça ? Il est en 2.0 maintenant visiblement depuis 2005...

    Est-ce que cela pourrais venir du fait que j'ai un module dans un module qui est dans une page ? Ou le nombre de profondeur de module dans un module ne cause aucun problème ?

    Le site est également fait avec un EnableEventValidation à False pour l'ensemble puisque mes prédécesseurs l'ont paramétré ainsi dans le web.config

    Autre piste de recherche, j'ai essayé de partir sur un projet vide, de mettre un module dans un module avec une action bouton, et la même façon d'enregistrer l'évènement en surchargeant la méthode InitializeComponent, sur un projet vide ça fonctionne.
    Enfin je vais regarder ce matin un autre module, le module login qui est lui aussi situé dans le module header juste avant le module de recherche justement. Celui-ci fonctionne correctement sur un click d'imagebutton...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/05/2009, 10h12
  2. PB lien sur image sous IE, pas sous Firefox.
    Par django29 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/08/2006, 15h54
  3. Verif de formulaire tourne sous IE pas sous FireFox
    Par Hakim_Bey dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/07/2006, 10h28
  4. Verif de formulaire tourne sous IE pas sous FireFox
    Par Hakim_Bey dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/07/2006, 19h11
  5. getElementById OK sous IE pas sous Firefox
    Par omlip dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/06/2006, 12h04

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