Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
C# 会话在浏览器刷新按钮时过期_C#_Javascript_Jquery_Asp.net - Fatal编程技术网

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(

您知道如何使asp.net中的“浏览器刷新”按钮上的会话过期吗。谢谢您也可以用C#或Js或Jquery提供您的回答…

用C#使用:

这将清除所有会话并分配新的会话密钥,并且还将触发
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();
}