Спасибо за ответы все. Я закончил тем, что реализовал решение с помощью JQuery и Защищать-данные плагин. Это позволяет мне автоматически применять контроль ко всем средствам управления на странице.
существует несколько протестов однако, особенно при контакте с приложением .NET ASP:
, Когда пользователь выберет опцию отмены, функция doPostBack бросит ошибку JavaScript. Я должен был вручную поместить выгоду попытки вокруг вызова .submit в doPostBack для подавления его.
На некоторых страницах, пользователь мог выполнить действие, которое выполняет обратную передачу к той же странице, но не является сохранением. Это приводит к любому сбросу логики JavaScript, таким образом, он думает, что ничто не изменилось после обратной передачи, когда что-то может иметь. Я должен был реализовать скрытое текстовое поле, которое получает отправленную спину со страницей и используется для содержания простого булева значения, указывающего, грязны ли данные. Это сохраняется через обратные передачи.
можно хотеть, чтобы некоторые обратные передачи на странице не инициировали диалоговое окно, такое как кнопка Save. В этом случае можно использовать JQuery для добавления функции OnClick, которая устанавливает window.onbeforeunload в NULL.
, Надо надеяться, это полезно для кого-либо еще, кто должен реализовать что-то подобное.
WeakReferences отрицательно влияют на сборщик мусора CMS. Насколько я могу судить по поведению нашего сервера, это влияет на время фазы параллельной реплики. На этом этапе все потоки приложений останавливаются, так что это крайне нежелательно. Так что будьте осторожны с WeakReferences.