【问题标题】:Why does my session variable appear to empty itself in ASP.NET?为什么我的会话变量在 ASP.NET 中显示为空?
【发布时间】:2009-05-22 04:27:13
【问题描述】:

我在 ASP.NET 网页上有用户控件,其中包含一个 GridView 和一个单选按钮选择器。

在底层中间层中,我有一个线程进入数据库,然后引发一个事件说“我有一些数据”,我的用户控件处理这个事件并设置一个会话变量。

这行得通,我可以看到正在处理的事件,并且 Session 变量获取了新数据。

但是,当我使用此会话变量时,当单选按钮选择器的选定索引更改会话变量报告为“无”时

我已确保显而易见的内容(即拼写、会话已打开等)是正确的。

GridView 和单选按钮选择器封装在同一个更新面板中。

【问题讨论】:

    标签: asp.net multithreading session


    【解决方案1】:

    检查您的 UpdatePanel - updatemode 是否设置为“有条件”?也 Child 作为触发器?我会首先停止您的页面加载,看看从那里发生了什么。搜索您填充该会话变量的所有位置并停止。您可能会感到惊讶,我经常发现页面生命周期变得令人困惑,即使我认为我理解它。 Alt - 发布一些代码,我们可以逐步完成。

    【讨论】:

      【解决方案2】:

      是的,听起来像是操作顺序的问题,或者在页面加载时不检查回发之类的?

      就像 JamesM 建议的那样,在调试模式下运行您的网站确实有助于发现问题。您可以打开监视窗口并将其设置为您要查找的 Session 变量,然后设置断点并检查每个停止处的值以分治代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-21
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 2015-03-11
        • 2022-09-30
        相关资源
        最近更新 更多