-2 votes

Pourquoi ma variable de session semble-t-elle se vider dans ASP.NET?

J'ai le contrôle utilisateur sur une page web ASP.NET, qui contient une GridView et un sélecteur de boutons radio.

Dans le middleware sous-jacent, j'ai un thread qui va à la base de données puis déclenche un événement pour dire "J'ai des données", mon contrôle utilisateur gère cet événement et définit une variable de session.

Cela fonctionne et je peux voir que l'événement est traité et que la variable de session obtient les nouvelles données.

Cependant, lorsque j'essaie d'utiliser cette variable de session lorsque l'index sélectionné du sélecteur de boutons radio change, la variable de session affiche "Rien".

J'ai vérifié que les éléments évidents (par exemple, l'orthographe, les sessions activées, etc.) sont corrects.

La GridView et le sélecteur de boutons radio sont encapsulés dans le même panneau de mise à jour.

2voto

JamesM Points 758

Vérifiez que si votre UpdatePanel - updatemode est défini sur 'Conditionnel'? aussi enfant en tant que déclencheurs? Je commencerais d'abord par mettre un arrêt dans le chargement de votre page, voir ce qui se passe à partir de là. Faites une recherche de tous les endroits où vous peuplez cette variable de session et mettez un arrêt. Vous pourriez être surpris, j'ai souvent trouvé que le cycle de vie de la page devient confus même si je pensais le comprendre. Alternativement - postez du code et nous pourrons l'examiner ensemble.

0voto

Mxyzptlk Points 541

Oui, ça ressemble presque à un problème d'ordre des opérations ou à ne pas vérifier le postback lors du chargement d'une page ou quelque chose comme ça?

Comme l'a suggéré JamesM, exécuter votre site Web en mode débogage devrait vraiment aider à identifier le problème. Vous pouvez ouvrir votre fenêtre de surveillance et la configurer pour la variable Session que vous recherchez, puis définir des points d'arrêt un peu partout et vérifier la valeur à chaque arrêt pour diviser et conquérir le code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X