【问题标题】:Telerik MVC website with batch editing grid prevent unsaved changes when window is closed具有批量编辑网格的 Telerik MVC 网站可防止窗口关闭时未保存的更改
【发布时间】:2012-03-06 07:13:20
【问题描述】:
我在 ASP.Net MVC3 中有一个使用 Razor 引擎的网页。我在此页面中使用 Telerik MVC Grid 批量编辑。使用 Telerik 的内置 onDataBinding 事件,如果用户尝试转到下一页,我可以强制用户保存他的更改。但是当用户关闭浏览器窗口或单击标题上的菜单按钮时,如果网格中有未保存的更改,则不会提示他保存这些更改。我该如何处理?请帮忙。我想给用户一个提示,告诉他他有未保存的更改。
谢谢,
SDD
【问题讨论】:
标签:
javascript
asp.net-mvc-3
c#-4.0
jquery
telerik-mvc
【解决方案1】:
您可以通过调用.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();
});