您对如何仅在 asp.net 中使浏览器刷新按钮上的会话过期有任何想法吗?谢谢。您还可以在 C# 或 Js 或 Jquery 中提供您的响应...
问问题
2390 次
2 回答
1
在 c# 中使用:
Session.Abandon();
这将清除所有会话并分配新的会话密钥,并且Session_OnEnd()
还将触发事件。
检查页面是否刷新的逻辑
如果您想检查页面是否刷新,那么您可以使用 cookie。
首次访问页面时存储 cookie。刷新时,检查您的 cookie 是否存在。
请参阅:检查页面是否在 Javascript 中重新加载或刷新
基于此,您可以在刷新页面时应用清除会话。
这是供参考的代码:
$(document).ready(function() {
if(document.cookie.indexOf('mycookie')==-1) {
// this mean cookie doesn't exist and user visited first time
document.cookie = 'mycookie=1';//set the cookie to check for next time
}
else {
// cookie is not null i.e. page is refreshed,
//So, make an ajax call to handler and use Session.Abandon() on handler in c# code.
}
});
此外,当浏览器关闭时,cookie 将被自动清除。
于 2013-06-19T12:49:36.230 回答
1
//this will solve the postback part (button click).
//The refresh you should handle with querystring params
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsPostBack)
Session.Abandon();
}
于 2013-06-19T12:51:46.687 回答