在C#中禁用浏览器的后退按钮

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

我在母版页中使用以下代码来缩放后退按钮。

 Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1)); Response.Cache.SetNoStore(); Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d); Response.Expires = -1500; Response.CacheControl = "no-cache"; Page.Response.Cache.SetCacheability(HttpCacheability.NoCache); 

我有一个主页,在该注销按钮是有用户点击该用户将被重定向到注销页面。这工作正常,一旦我点击后退按钮它带我到我浏览的最后一页。即使我试过的JavaScript。

我在5分钟后创建会话超时。当会话到期时,用户将被重定向到会话到期页面,还有后退按钮带我到浏览的最后一页。

这里的JavaScriptfunction可以在所有浏览器中使用,并且可以通过点击浏览器返回按钮检查下面的JavaScript代码来防止用户导航回到上一页

  

我们需要在页面的标题部分放置上面的脚本,以防止用户使用浏览器后退按钮导航回另一页面。

我将通过一个示例解释我们的要求我有两个页面Defaul1.aspx和Default2.aspx现在我将从Default1.aspx页面重定向到Defaul2.aspx页面。 从Defaul1.aspx页面到Default2.aspx后,如果我尝试从Defaul2.aspx导航回Default1.aspx页面,那么我想阻止用户导航回上一页(Defaul1.aspx)。 要实现此function,请在所需页面的标题部分中放置JavaScript函数。

将我们的JavaScriptfunction添加到我们的页面后,代码就像这样

   Disable Browser Back buttons    
First Page

我们也可以通过在代码中禁用浏览器缓存来实现这一点,在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(); } 

我们需要将此代码放在我们需要禁用浏览器后退按钮的页面中

    

你好,你可以这样做,

在母版页中实现此代码

我实现了这个,它对我有用..

  

单击“注销”重定向到Logout.aspx页面添加一个新页面作为Logout.aspx,其中包含以下正文内容。

  Please wait. You are Logging out.     

添加javascript如下

 function noBack() { window.history.forward() } noBack(); window.onload = noBack; window.onpageshow = function (evt) { if (evt.persisted) noBack(); } window.onunload = function () { void (0); } 

Logout.aspx.cs

 protected void Page_Load(object sender, EventArgs e) { Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); } protected void Timer1_Tick(object sender, EventArgs e) { Response.Redirect("Login.aspx")); } 

资料来源: http : //geekswithblogs.net/Frez/archive/2010/05/18/back-button-issue-after-logout-in-asp.net.aspx

当用户单击“注销”按钮时,您应该编写单行来清除会话。

 Session.Abondon(); 

并导航到注销页面或登录页面。 因此,一旦用户点击退出按钮,由于会话被清除,他无法返回。

要禁用浏览器的后退按钮,请在主页面标题部分写下以下代码