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