2011-12-01 76 views
0

我有一个MVC2 C#.Net网络应用程序。当用户试图离开一个视图时,我想弹出一个确认框来提醒他们他们已经做了更改但尚未保存。我使用window.onbeforeunload。这似乎不适用于MVC3。什么是适合做这种活动的地方或事件?jQuery确认框离开或留在页面上

+1

你看看在jQuery的卸载事件? http://api.jquery.com/unload/ – jValdron

+1

'window.onBeforeUnload'是javascript,所以与你在MVC应用中做的任何事情完全无关。因此它应该工作得很好。 –

+2

或者(通常是一种很好的做法)只是从jQuery中窃取卸载的源代码(因为它具有跨浏览器兼容性)。 :D我经常这样做...... – Kzqai

回答

0

这是我想出的答案。当我第一次运行下面的代码时,我得到了两个弹出窗口;一个用于确认框,另一个用于标准窗口确定/取消框。这是我的不知道的情况下,该事件是如何工作的:

window.onbeforeunload = function() { 
     if (document.title.indexOf("*") != -1) { 
      confirm("You have unsaved changes..."); 
     } 
    } 

这之后我尝试下面的代码。发生什么事是标准的窗口确定/取消框显示“您有未保存的更改...”提示。这是一个令人满意的解决方案

window.onbeforeunload = function() { 
    if (document.title.indexOf("*") != -1) { 
     return "You have unsaved changes..."; 
    } 
} 

enter image description here

+1

令人敬畏的代码。但是,伙计,IE?为什么? –