具有批处理编辑网格的Telerik MVC网站可在窗口关闭时防止未保存的更改

时间:2012-02-14 22:15:32

标签: javascript asp.net-mvc-3 c#-4.0 jquery telerik-mvc

我在ASP.Net MVC3中使用Razor引擎有一个网页。我在此页面中使用Telerik MVC Grid批量编辑。使用Telerik的内置onDataBinding事件,如果他试图转到下一页,我可以强制用户保存他的更改。但是当用户关闭浏览器窗口或单击标题上的菜单按钮时,如果网格中有未保存的更改,则不会提示他们保存这些更改。我该怎么处理?请帮忙。我想给用户一个提示,告诉他他有未保存的更改。

谢谢, SDD

1 个答案:

答案 0 :(得分:0)

您可以捕获浏览器关闭的事件,并通过调用.hasChanges()方法检查您的Telerik网格是否有任何未保存的更改。

function wireUpEvents() {

  // Check for grid changes before page unload
  window.onbeforeunload = function() {
        var grid = $("#MyGrid").data('tGrid');
        if (grid.hasChanges()) {
            if (!confirm('You are going to lose any unsaved changes. Are you sure?')) {
                e.preventDefault();
       }
    }
  }
}

// Wire up the events as soon as the DOM is ready
$(document).ready(function() {
  wireUpEvents();  
});