C# 会话在浏览器刷新按钮时过期
您知道如何使asp.net中的“浏览器刷新”按钮上的会话过期吗。谢谢您也可以用C#或Js或Jquery提供您的回答…用C#使用: 这将清除所有会话并分配新的会话密钥,并且还将触发C# 会话在浏览器刷新按钮时过期,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,您知道如何使asp.net中的“浏览器刷新”按钮上的会话过期吗。谢谢您也可以用C#或Js或Jquery提供您的回答…用C#使用: 这将清除所有会话并分配新的会话密钥,并且还将触发session\u oned()事件 检查页面是否刷新的逻辑 如果您想检查页面是否刷新,那么您可以使用cookies 第一次访问页面时存储cookie。刷新时,检查cookie是否存在 见: 基于此,您可以在刷新页面时应用清除会话 以下是参考代码: $(document).ready(function() { if(
session\u oned()
事件
检查页面是否刷新的逻辑
如果您想检查页面是否刷新,那么您可以使用cookies
第一次访问页面时存储cookie。刷新时,检查cookie是否存在
见:
基于此,您可以在刷新页面时应用清除会话
以下是参考代码:
$(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将自动清除。欢迎使用Stackoverflow。这不适合这里。到目前为止你有试过什么吗?先表现出你的努力,这样人们才能表现出他们的努力。请阅读,浏览器刷新按钮重复上一个请求(假设其间没有ajax请求),据我所知,我不知道如何使用任何其他属性标记刷新以创建特殊请求。我真的不知道。所以我没有放代码。你为什么要这样做?听起来您的代码中还有其他一些结构不正确的地方。为什么要这样做?这不是web应用程序的常见行为。我知道如何放弃会话。我只想在浏览器刷新按钮上清除会话…首先检查您的页面是否通过cookie刷新,如果是,则使用ajax调用处理该清除会话。您如何知道页面已刷新而不是再次访问?@Dynan,如果cookie不为空,则页面已刷新!请参阅我编辑的答案。刷新完成后,IsPostBack将计算为false。这是用来知道回发何时完成,而不是知道刷新是否完成。我知道。你读过我代码中的注释了吗?
//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();
}
//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();
}