Je travaille localement sur un site ASP.NET
et rencontre des problèmes avec postbacks
dans IE8
.ASP.NET Problèmes de publication dans IE8
J'ai une page avec un repeater
qui construit une table et chaque ligne a un LinkButton
qui est utilisé pour supprimer cette ligne.
Dans FireFox
et Chrome
, le bouton fonctionne comme prévu - les formulaires sont postés et toutes les valeurs du formulaire sont disponibles pour le traitement. Dans IE8, le formulaire est publié mais la collection de formulaires est vide, à l'exception du bouton qui a déclenché le postback
.
C'est un problème parce que
- il est étrange et je ne comprends pas et
- J'utilise les valeurs de la forme réaffecté pour reconstruire des objets métier (je ne les stocke pas dans
viewstate
ousession
mais les reconstruire à partir de zéro en fonction des valeurs entrées par l'utilisateur dans le formulaire). Lorsque je reporte deFF/Chrome
, la forme complète est là (par exemple Request.Form.AllKeys a, disons, 60 éléments) et je peux dériver les valeurs pour mon objet métier. Lorsque je reporte à partir de IE, mon formulaire est pratiquement vide et mon code de reconstruction échoue (par exempleRequest.Form.AllKeys
a, disons, seulement 9 articles au lieu des 60 attendus).
Je suis à une perte pour expliquer pourquoi il y a cette différence dans le contenu de la collection de forme sur postback
entre FF/Chrome
et IE
et serait grandement apprécier toute connaissance/aide à cet égard.
J'ai essayé de résoudre le problème comme je le vois - si d'autres informations sont nécessaires, s'il vous plaît faites le moi savoir. Merci de votre aide.
Merci pour votre suggestion.J'ai vérifié le trafic avec Fiddler et cela confirme ce que j'ai vu - que les données de postback de firefox contiennent tous les éléments de formulaire (et ainsi je suis capable de reconstruire mon objet business) et IE8 le postback contient seulement le LinkButton. – user415127
Juste une supposition sauvage, mais avez-vous validé votre code HTML et vérifié que vous avez tous les balises de fermeture correctes? Parfois, une balise de fermeture manquante peut bousiller les données affichées. –