Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何捕获会话状态_Asp.net_Session State - Fatal编程技术网

Asp.net 如何捕获会话状态

Asp.net 如何捕获会话状态,asp.net,session-state,Asp.net,Session State,我有一个asp.net母版页应用程序,一个内容页上有许多控件 每当用户导航到另一个内容页时,我希望将这些控件的内容/状态存储在会话状态中 我的问题是,我如何知道何时捕获控制状态?是否有某种类型的事件可用于触发过程 提前感谢您提供的任何信息 Bill可能他们正在通过您提供给他们的控件(按钮、链接等)离开该页面。此时,您可以在服务器端捕获操作并缓存您的状态 没有任何真正的“全局”服务器端事件处理程序可用于检测用户何时进入另一个页面(甚至只是点击浏览器中的后退按钮) 最好的办法是在母版页中编写一个方法

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

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

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

提前感谢您提供的任何信息


Bill

可能他们正在通过您提供给他们的控件(按钮、链接等)离开该页面。此时,您可以在服务器端捕获操作并缓存您的状态

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


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

如何使用会话变量

有关更多信息,请参阅此链接:

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

这是很难克服的

Session["myState"] = 7;  // bad example
不过,为了简单起见: