想要在页面网址更改时设置提醒

时间:2012-12-24 08:47:11

标签: javascript asp.net c#-4.0 webpage

如果用户尝试通过导航到其他页面或更改网址来离开页面,我该如何调用某个事件? 我尝试过以下方法但不起作用。

 protected void Page_Unload(object sender, EventArgs e){}

 protected override void OnUnload(EventArgs e){}

谢谢,

3 个答案:

答案 0 :(得分:3)

您可以在jquery中使用bind属性。您可能还有一个要忽略警告的地方,只需创建一个变量并在需要忽略警告时设置它。

加入JQuery library

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

之后,您可以将以下javascript添加到您的页面。

<script type="text/javascript">
var ignore = false;

$(function () {
    $(window).bind('beforeunload', function () {
        if (!ignore) {
            return 'WARNING: Data you have entered may not be saved.';
        }
    });

    $('.ignorepostback').live('click',function () {
        ignore = true;
    });
});
</script>

答案 1 :(得分:1)

你不能做那个服务器端。

您可以尝试实现某些客户端,例如通过挂钩窗口的卸载事件。或者在jquery中使用unload handler

$(window).unload(function() {
  alert('Do not bug users with alerts or try to keep them on your site');
});

请记住,一般用户不喜欢在他们决定离开的时候发现错误的网站...

答案 2 :(得分:1)

通过javascript,您可以使用onbeforeunload

来完成
window.onbeforeunload = function(e) {
  return 'Dialog text here.';
};