如何捕获会话状态

时间:2009-04-09 17:38:59

标签: asp.net session-state

我有一个asp .net母版页应用程序,一个内容页面上有许多控件。

每当用户导航到另一个内容页面时,我想将这些控件的内容/状态存储在会话状态中。

我的问题是,我怎么知道何时捕获控制状态?是否有某种类型的事件可用于触发程序?

提前感谢任何信息。

比尔

3 个答案:

答案 0 :(得分:2)

没有任何真正的“全局”服务器端事件处理程序可用于检测用户何时转到另一个页面(甚至只是在浏览器中点击后退按钮)。

最好的办法是在主页面中编写一个方法来保存会话状态,然后执行Response.Redirect()到指定的位置。然后,当您需要跟踪会话状态时,使所有链接都通过此方法。

答案 1 :(得分:0)

据推测,他们通过您提供的控件(按钮,链接等)导航离开该页面。您可以在该点捕获服务器端的操作并缓存您的状态。

答案 2 :(得分:0)

使用会话变量怎么样?

有关详细信息,请参阅此链接: ASP.Net Session

有很多方法可以维持状态。无论您使用哪个版本,都需要权衡利弊。例如,我不会在跨多个服务器负载平衡的应用程序上使用会话变量;您不能保证为每个请求获得相同的服务器,并且状态存储在逐个服务器的基础上。

很难击败这个

Session["myState"] = 7;  // bad example
但是为了简单起见。 :)