Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Plantage IE UpdatePanel dans un UserControl [ Web 2.0 / Ajax ] (will48)

mardi 26 août 2008 à 13:10:21 | Plantage IE UpdatePanel dans un UserControl

will48

Amis du jour, bonjour!

Je rencontre quelques (gros?) soucis avec IE 6 sur un site que je développe en C# .NET 2.0 et Microsoft ASP.NET 2.0 AJAX Extensions 1.0.

Contexte:
Dans une page, j'ai un TabContainer, qui contient 5 onglets.
Pour minimiser un peu le code dans la page, je positionne donc dans ces onglets des users controls, qui embarquent avec eux leur code. Seuls dans la page principale se trouvent des boutons qui gèrent la sauvegarde en base des données présentes dans les onglets.
Ces UserControls sont construits de manière similaire: ils embarquent un UpdatePanel, avec des boutons qui servent de Trigger au refresh de l'UpdatePanel.
La logique est la suivante: on manipule d'abord les données dans les UserControls avec leurs éléments IHM (boutons...) et on sauvegarde ensuite les manipulations faites depuis les boutons de la page principale.

Problème:
Les Triggers fonctionnent très bien, les requêtes vers le server se passent sans soucis ni exception (d'abord Page_Load, puis méthode Handler du trigger, qui elle même appelle UpdatePanel.Update()...). C'est au retour du server que la réponse fait planter IE 6 (grave... j'ai une invit pour débugger IE 6 avec une instance de VS 2005... no comment ;) )...

En utilisant Fiddler (proxy HTTP listant toutes les I/O de IE), il semble que IE plante à la réception de paquets CSS le plus souvent (???) mais pas tout le temps, au retour d'une requête de refresh partiel de ma page (refresh de l'update panel).


Questions:
Est ce que le fait d'imbriquer des UpdatePanels dans des UserControls, eux-mêmes embarqués dans la page principale qui les dispatchent dans leurs onglets respectifs, peut être la source du problème?
LE BUG N'EST PAS REPRODUIT SUR D'AUTRES NAVIGATEURS (Firefox, Safari... bien que des erreurs de scripts puissent être détéctées, cela ne plantgera pas les browsers...)

Mesdames, Messieurs, au plaisir de lire vos idées/suggestions/solutions...



"Je sais que je ne sais pas" (Socrate)

mardi 26 août 2008 à 18:56:14 | Re : Plantage IE UpdatePanel dans un UserControl

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonjour,

En quoi le fait d'avoir une invite de debug IE, fait planter IE ? Peux tu nous décrire avec plus de précision le comportement de IE ? As tu essayé de debuggé IE via l'invite de debug ? avec IE c'est ainsi que l'on s'attacher à IE afin de debugger du JavaScript.

Tu peux également regarder les résultats de ta requete via un sniffer http tel que fiddler, httpwatch, web development helper, etc ...


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

mardi 26 août 2008 à 19:22:26 | Re : Plantage IE UpdatePanel dans un UserControl

will48

Salut Cyril,

C'est bien de toi que j'attendais une réponse, tes interventions sont tres utiles de part et d'autres sur ce que j'ai fouiné sur ce forum... j'ai retourné ton blog pour trouver des infos, mais sans succès...

C'est pas l'invit qui fait planter IE, c'est IE qui plante qui propose une invite pour le débogage JIT VS2005...
"Une exception Win32 non gérée s'est produite dans iexplorer.exe [5672]"

IE se ferme tout seul au refus de l'invite... (le process est tout simplement mort...)

Si on accepte l'invite, sans ouvrir de code source (normal) ni même de code hexa, on se prend la popup suivante:
"Exception non gérée à 0x00000000 dans iexplorer.exe : 0XC00000005: Violation d'accès lors de la lecture de l'emplacement 0x00000094".
iexplorer.exe est killé la aussi... (surveillance des process depuis ProceXP)

Il ne s'agissait pas d'un breakpoint JS... il est vrai qu'on pouvait se le demander quand je relis mon post...

J'ai ré-essayé avec Fiddler, aucune info supplémentaire que ce que j'ai marqué dans le post initial...

NB: tout se passe bien avec IE 7... ptet un peu long à la détente, mais tout passe nikel...

??

Os Court... : )
++


"Je sais que je ne sais pas"

mardi 26 août 2008 à 19:34:08 | Re : Plantage IE UpdatePanel dans un UserControl

jesusonline

Membre Club Administrateur CodeS-SourceS
ah effectivement si t'as une exception Win32, c'est déjà un peu plus galère.

Tu utilises un vrai IE6 ? pas un truc qui utilise plus ou moins les fichiers de IE6 comme IETester & co ? Si tu testes sur une autre machine avec IE6 ca te dit quoi ?
Tout les updatepanels plantent ? un simple HelloWorld aussi ou alors c'est ton cas particulier ?
Si c'est ton cas particulier, montre nous la réponse d'ASP.net de ta requete que tu vois via Fiddler.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

mercredi 27 août 2008 à 13:44:45 | Re : Plantage IE UpdatePanel dans un UserControl

will48

Salut Cryil,

IE6 vrai de vrai, sp3, 6.0.2900.5512...
J'ai pu tester sur une autre machine IE 6, comportement identique.
Tous les updatePanel plantent...

ERRATUM:
Mille Confuz, je m'ai gourré dans la description de l'arborescence de mes controles. Elle est la suivante:
Page.aspx (5 onglets)
    ->UserControls métier (1 par onglet, pour alléger le code de la page principale)
       ->UserControl IHM
          ->UpdatePanel
             ->ListBoxs, Boutons
    ->boutons de validation des manip sur le user control de l'onglet concerné

Les boutons de validation des manip fonctionnent nikel, la sauvegarde en base pareil... c'est vraiment à la réception des paquets de la réponse que IE plante... y'en a un qui doit pas lui plaire

Par contre, je ne suis pas sur de comprendre ce que tu me demandes dans fiddler... : ? Dis moi si la capture présente bien les infos que tu attendais...


Ci joint les-dites captures:

Plantage IE:


Tentative debug IE dans Debugger JIT VS 2005:



Capture Fiddler:

REMARQUE:
truc bizarre que je relève en meme temps que je rédige ce post, la requête est lancée comme provenant d'un useragent Mozilla/4.0... est-ce normal?

Comme précisé dansl les premiers posts, ca plante le plus souvent à la réception d'une ressource CSS... pas la.


Je me demande si les scripts générés par ASP.NET et Ajax ASP.NET ne rentrent pas en conflit au retour d'une requete d'updatePanel...



mercredi 27 août 2008 à 14:18:21 | Re : Plantage IE UpdatePanel dans un UserControl

will48

Update:
Maintenant:
  • soit je reproduis le problème (à 80%)
  • soit l'update partiel se passe bien, comportement conforme a ce qui est attendu, par contre, je ne peux pas relancer une seconde manip ni directement des UserControls avec les UpdatePanel, ni depuis la page principale car le server me renvoie une erreur sur la validation des évènements (pageEventValidation="true"). J'imagine que c'est une valeur par défaut, car il me précise que c'est soit dans la config (web.config?) soit directement dans la page (pageEventValidation="true" dans la directive <@Page...>) et je ne trouve ces settings écrit en toutes lettres nulle part.



mercredi 27 août 2008 à 19:11:52 | Re : Plantage IE UpdatePanel dans un UserControl

jesusonline

Membre Club Administrateur CodeS-SourceS
pour le user agent mozilla : oui c'est normal.

La capture d'écran de fiddler, ne montrent pas les appels aux updatepanels, ce surtout la réponse de ces appels qui m'interessent, tu peux voir la réponse dans la partie droite onglet response je crois.

Si tu fais un nouveau site web avec un updatepanel "Hello World" cela plante aussi ? si oui ca doit venir de la configuration du serveur, si non, il faudrais reconstruire petit à petit ta page afin de voir exactement ce qui pose problème.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

mercredi 27 août 2008 à 19:16:37 | Re : Plantage IE UpdatePanel dans un UserControl

jesusonline

Membre Club Administrateur CodeS-SourceS
Pour le EventValidation j'ai écrit ca : http://blogs.developpeur.org/cyril/archive/2007/01/09/validation-d-evenement-en-asp-net-2-0-eventvalidation.aspx ca explique à peu près ce qu'est la validation d'évenements et comment contourner le problème, mais ej ne pense pas que ce soit le problème prioritaire.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

vendredi 29 août 2008 à 14:13:52 | Re : Plantage IE UpdatePanel dans un UserControl

will48

Réponse acceptée !
Salut,

Bon, alors après reconstruction étape par étape, tests unitaires, j'ai pu localiser mon problème:
J'utilise (c'est pas forcément un choix ; ) un composant de type gridview enhanced avec des fonctionnalités telles que le filtre en haut de chaque colonne, du regroupement d'entrées.... un peu comme des infragistics... sauf que c'est fait "maison"... (je sais...)

Bref, il semble exister des incompatibilités avec les updatePanels: le cas basique d'un refresh de cette grid via le refresh d'un update panel, le tout directement dans une page (cad sans embarquer l'update panel contenant la grid dans un UserControl lui même embarqué dans une page) plante IE (la fameuse exception win32 non gérée). IE doit recevoir des lignes de code, a priori CSS ou JS, qui le font planter sans tir de semonce (un peu comme cette fameuse ligne HTML qui a les mêmes effets: check [ Lien ]).

Par contre, le souci dans mon code a moi était que tout mes update panel etaient en mode UpdateMode="Always". Du coup, les refresh des UpdatePanel qui ne contenaient pas la grid view provoquaient forcément le refresh du panel qui contient la GridView... d'oû exception a chaque refresh de chaque update panel.
J'ai passé tous les UpdatePanel en UpdateMode="Conditional", de manière à ce que seul le panel concerné par un trigger (bouton, ddl...) soit rafraichi.

Du coup, en fait, plus de problème... juste un composant "maison" (avec les inconvénients qu'on sait) qui faisait tout planter ; )

Merci pour ta dispo,
Au plaisir



vendredi 29 août 2008 à 15:26:21 | Re : Plantage IE UpdatePanel dans un UserControl

jesusonline

Membre Club Administrateur CodeS-SourceS
J'ai pleins de controle "maison" et j'aime bien ca !

Donc le problème est "résolu", il y a juste le problème de ton customcontrol ? As tu pu résoudre ce problème, si oui quelle était ce problème ? si non pour le résoudre il va falloir procéder de la meme facon, reconstruire petit à petit le customcontrol jusqu'a voir ce qui se passe ...
Bon courage si tu dois encore detecté ce problème.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant


1 2

Cette discussion est classé dans : boutons, page, ie, onglets, updatepanel


Répondre à ce message

Sujets en rapport avec ce message

Ouverture d'une page asp sous IE [ par willmib ] Bonjour!J'ai un petit problème: quand j'utilise pour mon site des pages asp, impossible de les ouvrir correctement: au lieu de m'ouvrir la page, le li Pb avec le cache d'IE [ par blat ] Bonjour,J'ai une animation flash qui tourne dans ma page. L'animation est chargé a partir de variables qui se trouvent dans des fichiers texte et de p [ASPX][C#] treeview blocage affichage bouton [ par rabbiwan ] Bonjour,j'ai un petit problème : J'ai un Treeview qui fonctionne à merveille, sauf qu'il me bloque mes boutons; je m'explique. Mes boutons qui sont en bouton et autopostback [ par yogui411 ] Bonjour,J'utilise des boutons pour faire un formulaire. Lorsque je clique sur un bouton, ça rafraichit la page et ça me remet tout en haut de la page. Boutons et [ par ja001net ] Bonjour à tous,Je ne comprend pas bien comment fonctionnent certaines fonctionnalités concernant les boutons.J'utilise le framework ASP.NET 2Mon premi Impression IE 5.x sans haut et bas de page [ par canardwc ] J'ai bien repere le script permettant de faire ouvrir la boite d'impression, mais mon probleme est d'empecher l'impression du haut de page (titre de l Affichage DropDownList [ par JulienV ] Bonjour J'ai un page contenant plusieurs UpdatePanel pour que le rafraichissement s'effectue partiellement selon les b Dévalide page suivante et précédente sous ie [ par beabea ] bonjour je développe sous visual studio 2003 en VB et je voudrais dévalider dans la barre standard de IE PAGE PRECEDENTE ET SUIVANTE merci pour votr Problème : WebControl dans un updatepanel [ par hysteria31 ] Bonjour,mon problème est le suivant.J'ai une page principale (Default.aspx) contenant un updatepanel.Lorsque je clique sur un bouton situé dans ma pag Problème de login avec IE [ par HybridKat ] Bonjour,Ça fait un bout que je me pète la tête la-dessus mais je trouve pas.  Je m'explique :J'ai un site en asp avec un login en AJAX.  Ça marche sup


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.