2013-06-18 174 views
-4

我有一个asp.net应用程序。如果用户在他的浏览器中执行后退导航,我如何才能清除当前会话在浏览器中回退导航时清除当前会话

+2

与什么是你的目标是什么?也许有更现实的方法:) –

+2

暂时忽略你想如何_回到后退按钮(即清除会话),你打算如何_detect_后退按钮被按下?从历史上看,这往往是非常困难和不可靠的。通常HTTP是一个简单的请求/响应系统。浏览器只是发送请求到你的服务器。你怎么能区分浏览器发送请求的区别,因为用户按下了后退按钮,或者点击了指向同一页面的链接,或者手动键入了该页面的地址等等? – David

回答

0

您可以删除由会话(可能是你想要的):

Session.Abandon(); 

或者通过清除会话中的所有值:

Session.Clear(); 
+0

我可以从哪个事件呼叫Session.Abandon()。我如何知道返回导航发生? –

+0

这不是你的问题。但是没有事件发生。你必须建立一些自定义的东西。检测后台浏览器按钮是异味,这意味着代码有问题。例如,您在数据库中保存了两次内容,这表明您在数据库中执行了保存操作而不强制用户执行get(重定向)。 – Peter

+0

没有后退导航事件。捕获这个的唯一方法是使用javascript方法OnUnload(),并且当客户端离开页面时将捕获它,而不管它们将要去哪里。 –

相关问题