Сайт Telerik MVC с сеткой пакетного редактирования предотвращает несохраненные изменения при закрытии окна - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть веб-страница в ASP.Net MVC3 с использованием движка Razor. Я использую пакетное редактирование Telerik MVC Grid на этой странице. Используя встроенное событие Telerik onDataBinding, я могу заставить пользователя сохранить свои изменения, если он попытается перейти на следующую страницу. Но когда пользователь закрывает окно браузера или нажимает на кнопки меню в заголовке и если в сетке есть несохраненные изменения, ему не предлагается их сохранить. Как я могу справиться с этим ?? Пожалуйста помоги. Я хотел бы дать пользователю подсказку, в которой говорится, что у него есть несохраненные изменения.

Спасибо, SDD

1 Ответ

0 голосов
/ 16 февраля 2012

Вы можете зафиксировать событие закрытия браузера и проверить, есть ли в вашей сетке Telerik несохраненные изменения, вызвав метод .hasChanges().

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();  
});
...