我有一个asp .net母版页应用程序,一个内容页面上有许多控件。
每当用户导航到另一个内容页面时,我想将这些控件的内容/状态存储在会话状态中。
我的问题是,我怎么知道何时捕获控制状态?是否有某种类型的事件可用于触发程序?
提前感谢任何信息。
比尔
答案 0 :(得分:2)
没有任何真正的“全局”服务器端事件处理程序可用于检测用户何时转到另一个页面(甚至只是在浏览器中点击后退按钮)。
最好的办法是在主页面中编写一个方法来保存会话状态,然后执行Response.Redirect()到指定的位置。然后,当您需要跟踪会话状态时,使所有链接都通过此方法。
答案 1 :(得分:0)
据推测,他们通过您提供的控件(按钮,链接等)导航离开该页面。您可以在该点捕获服务器端的操作并缓存您的状态。
答案 2 :(得分:0)
使用会话变量怎么样?
有关详细信息,请参阅此链接: ASP.Net Session
有很多方法可以维持状态。无论您使用哪个版本,都需要权衡利弊。例如,我不会在跨多个服务器负载平衡的应用程序上使用会话变量;您不能保证为每个请求获得相同的服务器,并且状态存储在逐个服务器的基础上。
很难击败这个
Session["myState"] = 7; // bad example
但是为了简单起见。 :)