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

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

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

谢谢, 存储空间

最佳答案

您可以捕获浏览器关闭事件并通过调用 .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();  
});

关于javascript - 具有批量编辑网格的 Telerik MVC 网站可防止窗口关闭时未保存的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9285018/

相关文章:

lambda - 如何使用 lambda 表达式捕获静态或非静态属性?

javascript - _.sumBy 跨数组相同键的总计

javascript - 从 View 中的 Javascript 访问 MVC3 模型属性

javascript - 我可以在 javascript 的消息框中加入链接吗?

asp.net-mvc - 让多个 ASP.NET MVC3 项目共享一个通用布局

asp.net - 使用 MySql 和 MVC 3 上的成员(member)资格向注册表单添加更多字段

c# - List<List<string>> 上的 Linq 计数组

c# - 在 C# 中引发异常时调用服务的析构函数

javascript - 如何验证简单的 Web 表单

javascript - 如何仅使用 div 标签显示加载 iframe