Asp.Net禁用返回按钮

Asp.Net Disable Back button

本文关键字:返回 按钮 Net Asp      更新时间:2023-09-26

我有一个从第一页到第二页和从第二页到第三页的3页im发送一些信息。我想做的是,如果im在第二页,我希望用户不要再回到第一页,或者在第三位,用户可以转到第一页或第二页。

有没有办法禁用浏览器上的后退按钮?或者有没有一种方法可以在用户按下后退按钮时显示错误?

有什么建议吗?

这是我的Master Page中的旧代码。我已经做了几年了,如果你想更新它,你可以选择。

    Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
       MyBase.OnPreRender(e)
       Dim disAbleBackButton As String
       disAbleBackButton = "<script language='javascript'>" & Environment.NewLine
       disAbleBackButton &= "function noBack(){window.history.forward()}" & Environment.NewLine
       disAbleBackButton &= "noBack();" & Environment.NewLine
       disAbleBackButton &= "window.onload=noBack;" & Environment.NewLine
       disAbleBackButton &= "window.onpageshow=function(evt){if(evt.persisted)noBack()}" & Environment.NewLine
       disAbleBackButton &= "window.onunload=function(){void(0)}" & Environment.NewLine
       disAbleBackButton &= "</script>"
       Page.ClientScript.RegisterClientScriptBlock(Me.Page.GetType(), "backhistory", disAbleBackButton)
  End Sub

尝试使用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) }
</script>

尝试下面的代码来阻止&浏览器上的"前进"按钮。

window.history.pushState(null, "", window.location.href);  
window.history.back();
window.history.forward();      
window.onpopstate = function() {
    window.history.pushState(null, "", window.location.href);
};