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

Dotnet Discussion :

[WebForms][1.1] Clic impossible sur les liens


Sujet :

Dotnet

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [WebForms][1.1] Clic impossible sur les liens
    Salut,

    J'ai un datagrid dont une colonne est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update|" />
    Colonne normale d'édition. Jusque là rien de bizarre.

    Lorsque je compile et que j'arrive sur la page en question (sur mon serveur local), et que je veux cliquer sur "Edit", en bas dans la barre d'état je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Javascript:__doPostBack('_ctl0$_ctl0$rulesList$_ctl2_ctl0',")
    mais il ne se passe rien. Ca clique pas !!!
    En bas de mon Internet Explorer j'ai le petit triangle jaune me signifiant qu'une erreur Javascript est apparue sur cette page.


    Maintenant, et c'est là que ça devient intéressant, lorsque j'upload mon projet sur le serveur d'application ........ magique, tout se passe bien. J'ai accès à tous mes lien et tout se passe correctement.

    Vous comprendrez bien mon désarroi.

    C'est donc assez difficile pour moi de continuer à développer mon application localement puisque certain lien ne marchent pas et donc certaines fonctionnalités ne sont pas "testables".
    Vous compredrez bien aussi qu'il m'est impossible de développer dirrectement sur le serveur d'application.

    Alors à votre avis, problème de configuration de mon serveur local ? Problème de paramétrage Internet Explorer ?

    Je suis ouvert à toute proposition.
    Merci.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Examine le code généré par ton serveur local et ton serveur distant. Doit y avoir des différences dans le javascript apparement dont une fonction qui coince.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Alors j'ai regardé, j'ai cherché et j'ai trouvé deux différences dans le code généré.
    La première est quasiment au début juste derrière la balise <BODY>

    Sur le serveur local:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="_ctl0:Form1" method="post" action="rules.aspx" id="_ctl0_Form1" enctype="multipart/form-data">
    Sur le serveur d'application:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="__aspnetForm" method="post" action="rules.aspx" id="__aspnetForm" enctype="multipart/form-data">

    Et la deuxième un peu plus loin dans la définition de la fonction doPostBack:

    Sur le serveur local:
    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
    <script language="javascript">
    <!--
    	function __doPostBack(eventTarget, eventArgument) {
    		var theform;
    		if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
    			theform = document.forms["_ctl0:Form1"];
    		}
    		else {
    			theform = document._ctl0:Form1;
    		}
    		theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    		theform.__EVENTARGUMENT.value = eventArgument;
    		theform.submit();
    	}
    // -->
    </script>
    Sur le serveur d'application:
    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
    <script language="javascript" type="text/javascript">
    <!--
    	function __doPostBack(eventTarget, eventArgument) {
    		var theform;
    		if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
    			theform = document.__aspnetForm;
    		}
    		else {
    			theform = document.forms["__aspnetForm"];
    		}
    		theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    		theform.__EVENTARGUMENT.value = eventArgument;
    		theform.submit();
    	}
    // -->
    </script>

    Voila, alors si ça donne une idée à quelqu'un !

    Merci.

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Toujours pas d'idée ?!?
    Personne ?

    Le problème c'est que je ne peux pas débogger l'application à distance, sur le serveur.
    Enfin bref... ce projet stagne parce que je ne peux pas tester mes modifications. Alors si quelqu'un à une idée, ça m'aiderai à faire avance le schimilli... le schilimili... le shimlilliimillii.......... enfin le truc !

    Merci.
    Ben.

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Alors pour ceux que ça intéresse, si jamais il y en a (apparemment je suis le seul )

    Après moultes recherches et tests en tout genre, jusqu'à la création d'une "dummy" application (avec deux <asp:LinkButton> Hello et GoodBye) testée sur le serveur local et le serveur d'application j'en suis arrivé à la conclusion suivante.
    La Dummy application fonctionne sans problème, les deux liens marchent.

    Dans le code de mon application posant problème, se greffe un ctl0 avant le nom du formulaire puis du nom des objets liés à ce formulaire.

    <form name="_ctl0:Form1" method="post" action="rules.aspx" id="_ctl0_Form1" enctype="multipart/form-data">

    Il s'en suit donc une erreur Javascript lors de l'execution de cette page, car juste après le _ctl0 apparait un : alors qu'un ; est attendu. La suite du code n'est donc pas exécutée et les différents objets ne portent donc pas les noms qu'ils devraient.
    D'où l'erreur Javascript au sein de ma page et donc l'impossibilité de cliquer sur des links qui pointent vers des objets qui n'existent pas.

    Il semblerait que le Bug soit connut chez Microsoft, et il existerait un patch pour DOT NET 1.1.
    Je me suis donc mis à la recherche de ce patch.

    La suite au prochain numéro !!!

    Merci à moi.
    Ben.

    PS: J'espère au moins que ça pourra servir à quelqu'un d'autre.

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Il s'agit en fait du Service Pack 1 pour .Net Framework 1.1

    A télécharger ici.

    http://www.microsoft.com/downloads/d...b-a83353618b38

    Salut.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    ok, merci pour toutes ces infos

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

Discussions similaires

  1. Empêcher les double-clics sur les liens href
    Par Heretic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/03/2011, 16h56
  2. Clic sur les liens de menu figent IE8
    Par alansan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 01/12/2009, 11h18
  3. Detecter les clic sur les lien de mon site
    Par toure32 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2007, 13h18
  4. Réponses: 1
    Dernier message: 13/05/2007, 15h34

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