Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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# 登录asp.net后的“转发”按钮_C#_Javascript_Asp.net - Fatal编程技术网

C# 登录asp.net后的“转发”按钮

C# 登录asp.net后的“转发”按钮,c#,javascript,asp.net,C#,Javascript,Asp.net,我正在开发一个网站,我有一个登录页面。一旦用户被验证,他将被重定向到用户的主页。如果用户单击浏览器的后退按钮,由于浏览器缓存,他将被重定向到登录页面。现在,如果他单击浏览器前进按钮,则从登录页面开始,由于浏览器缓存,他可以在登录页面中查看主页,而无需验证其凭据。如何避免此情况?避免在登录页面中使用此脚本返回登录页面 <script type = "text/javascript" > function preventBack() { window.history.fo

我正在开发一个网站,我有一个登录页面。一旦用户被验证,他将被重定向到用户的主页。如果用户单击浏览器的后退按钮,由于浏览器缓存,他将被重定向到登录页面。现在,如果他单击浏览器前进按钮,则从登录页面开始,由于浏览器缓存,他可以在登录页面中查看主页,而无需验证其凭据。如何避免此情况?

避免在登录页面中使用此脚本返回登录页面

<script type = "text/javascript" >
        function preventBack() { window.history.forward(); }
        setTimeout("preventBack()", 0);
        window.onunload = function () { null };
</script>

函数preventBack(){window.history.forward();}
setTimeout(“preventBack()”,0);
window.onunload=函数(){null};

我们也可以通过禁用代码隐藏中的浏览器缓存来实现这一点,在Page_Init事件或Page_Load事件中写入以下代码行,不要忘记使用System.Web添加命名空间;因为HttpCacheability与该命名空间相关

 protected void Page_Init(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
}
在这里,此JavaScript功能将在所有浏览器中工作,并通过点击JavaScript代码下面的“浏览器后退”按钮来防止用户导航回上一页

<script type="text/javascript" language="javascript">
 function DisableBackButton() {
   window.history.forward()
  }
 DisableBackButton();
 window.onload = DisableBackButton;
 window.onpageshow = function(evt) { if (evt.persisted) DisableBackButton() }
 window.onunload = function() { void (0) }

函数DisableBackButton(){
window.history.forward()
}
禁用BackButton();
window.onload=禁用BackButton;
window.onpageshow=函数(evt){if(evt.persisted)DisableBackButton()}
window.onunload=function(){void(0)}

您是否尝试调试此方案

如果用户导航回登录,您可以在页面/控制页面加载事件中处理该场景

或者,如果您使用的是visual studio,它将附带样板asp.net web应用程序模板以及会员资格就绪的实现

@杰米姆,@nayem 在这种情况下,我们不能禁用浏览器的后退/前进按钮,web就是让用户点击/移动页面上的任何位置,关键在于您如何谨慎地设计解决方案

Javascript是DOM的一种语言,我们最好只利用它来处理这一部分