【发布时间】:2009-04-10 04:51:24
【问题描述】:
我有一个 asp .net 母版页应用程序,一个内容页上有许多控件。
每当用户导航到另一个内容页面时,我想将这些控件的内容/状态存储在会话状态中。
我的问题是,我怎么知道何时捕获控制状态?是否有某种类型的事件可以用来触发程序?
提前感谢您提供任何信息。
比尔
【问题讨论】:
标签: asp.net session-state
我有一个 asp .net 母版页应用程序,一个内容页上有许多控件。
每当用户导航到另一个内容页面时,我想将这些控件的内容/状态存储在会话状态中。
我的问题是,我怎么知道何时捕获控制状态?是否有某种类型的事件可以用来触发程序?
提前感谢您提供任何信息。
比尔
【问题讨论】:
标签: asp.net session-state
没有任何真正的“全局”服务器端事件处理程序可用于检测用户何时进入另一个页面(甚至只是点击浏览器中的后退按钮)。
最好的办法是在您的母版页中简单地编写一个方法来保存您的会话状态,然后执行 Response.Redirect() 到指定的位置。然后当你需要跟踪会话状态时,让你所有的链接都经过这个方法。
【讨论】:
可能他们正在通过您提供的控件(按钮、链接等)离开该页面。您可以在该点捕获服务器端的操作并缓存您的状态。
【讨论】:
如何使用会话变量?
查看此链接了解更多信息: ASP.Net Session
有很多方法可以保持状态。无论您使用哪个版本,都需要权衡取舍。例如,我不会在跨多个服务器负载平衡的应用程序上使用会话变量;不能保证每个请求都获得相同的服务器,并且状态是逐个服务器存储的。
很难打败这个
Session["myState"] = 7; // bad example
不过,为了简单起见。 :)
【讨论】: