Actuellement, nous ouvrons une nouvelle page aspx avec window.open. Le window.open est dans une fonction javascript (openNewWindow()) dans la page aspx actuelle qui est appelée quand un contrôle de lien hypertexte asp.net est cliqué.Perdre l'état de la session après la fermeture d'une fenêtre ouverte avec window.open
Les liens sont créés dynamiquement sur la page de notre cadre et je serais donc comme pour éviter de changer cette fonctionnalité.
Le problème semble être que lorsque cette nouvelle fenêtre 'enfant' est fermée, l'état de la session est perdu. Je devrais mentionner que la session est disponible dans la fenêtre enfant juste pas dans la fenêtre 'parent' après que la fenêtre 'enfant' soit fermée. Assez curieusement, il semble qu'ailleurs dans notre application, si un appel open.window est ajouté à une page en utilisant un appel ClientScriptManager.RegisterStartupScript sur l'événement clickbehind d'un contrôle de lien hypertexte (plutôt que d'appeler une fonction qui est codé dans l'aspx) la session est préservée.
Cette dernière solution serait difficile à mettre en œuvre dans le code cadre actuel sans changement significatif et tous les tests de régression qui entraînerait.
Tout le monde a des idées sur la façon de garder l'état de session actif après la fermeture de la fenêtre enfant.
BTW cela se produit dans IE7 et notre application est basée sur asp.net 2.0.
Merci d'avance pour vos solutions perspicaces et élégantes à ce problème! ; O)
Tout d'abord, ajoutez un gestionnaire d'événements Session_OnEnd au global.asax pour savoir quand et si cela se produit réellement ... – annakata
(En supposant que vous n'êtes pas dans un mode session personnalisé - votre cookie de session est-il basé?) – annakata