如何阻止用户使用后退按钮

时间:2012-08-27 08:03:28

标签: asp.net browser

页面上有一个按钮,页面名称为abc.aspx。当用户点击该按钮时 它应该重定向到finishwork.aspx页。

在完成work.aspx页面后,用户不得返回abc.aspx页面。当用户在浏览器中按回按钮时,他应该重定向到workallreadyfinish.aspx页面

5 个答案:

答案 0 :(得分:1)

禁用该页面上的缓存,避免缓存该页面。

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();

答案 1 :(得分:0)

location.replace()可用于替换历史记录中的页面。

答案 2 :(得分:0)

有很多方法可以实现这一点,但是,当您使用ASP.NET并且我将假设WebForms时,为什么不使用<asp:Wizard>控件?

您将能够对您的步骤进行更详细的控制,并阻止用户返回各种好东西。

  • 如果您想采取正常方式,您可以随时警告用户该页面将不再使用javascript事件有效。

  • 您也可以使用散列并通过ajax调用而不是普通的POST提交表单

  • 您可以在提交表单后编写cookie,下次显示此类警告,即使用户返回并再次按“提交”按钮,您也无需关心。请记得在if (!Page.IsPostBack) { ... }

  • 上删除Cookie

答案 3 :(得分:0)

让用户围绕浏览器返回按钮工作流程并不是一个好主意 浏览器后退按钮并非完全在您的控件中。

如果要在应用程序中提供逻辑后退,请在应用程序中使用后退按钮。

如果您只想让用户无法返回某个页面,则应tell the browser not to cache it set the page to expire

答案 4 :(得分:0)

你可以使用javascript函数: -

function disableBackButton()
{
    window.history.forward();
}
setTimeout("disableBackButton()", 0);