ASP.NET Page_Unload阻止用户离开页面

时间:2009-08-28 13:46:51

标签: c# asp.net

  

可能重复:
  Best way to detect when user leaves a web page

我正在尝试让用户选择在他们尝试远离当前页面时保持当前页面(如果他们没有保存对其进度的更改)。我不确定如何解决这个问题,因为我已尝试过JavaScript而失败。

我希望ASP.NET C#代码中的Page_Unload函数有一种方法。

任何帮助都会非常感激。

6 个答案:

答案 0 :(得分:4)

请参阅此帖"Best way to detect when a user leaves a page"。这应该可以帮到你。你必须做客户端,好像他们离开了,服务器永远不会知道。

答案 1 :(得分:3)

您不能依赖服务器端代码来执行此操作。当请求到达服务器时,为时已晚。您需要通过为beforeunload事件提供事件处理程序来使用javascript执行此操作。有关如何操作的简单提示,请参阅此demo

答案 2 :(得分:1)

我会建议使用JavaScript。例如,在SO上,如果您在进行一些更改后尝试退出页面,则会提示您。

答案 3 :(得分:1)

您可能希望将{javascript函数添加到Body OnUnload event

答案 4 :(得分:0)

我相信最好的方式是由上面的tvanfosson展示的。你可以注入这个javascript服务器端提供消息,重定向等。

答案 5 :(得分:-1)

这是必须的:Asp.NET page life cycle。 始终记住,只有完成所有服务器端工作后,页面才会被发送到客户端。