ASP.NET AJAX: Отключение пользовательского интерфейса во время выполнения частичного постбэка - Обнаружение и отключение того элемента пользовательского интерфейса, который вызвал выполнение частичного постбэка
ОГЛАВЛЕНИЕ
Обнаружение и отключение того элемента пользовательского интерфейса, который вызвал выполнение частичного постбэка
Как мы уже видели, в то время как начинается выполнение частичного постбэка, PageRequestManager вызывает серию событий клиентской стороны. Первым является initializeRequest. Затем вызывается событие beginRequest. beginRequest передается в args (аргументах) объекта и включает в себя информацию о том элементе пользовательского интерфейса, который вызвал частичный постбэк. В частности, данная информация может быть получена при помощи args.get_postBackElement(). Как только мы получим ссылку на тот элемент пользовательского интерфейса, который вызвал постбэк, мы сможем отключить его, путем установки его свойства disabled в значение True ("Истина"):
function PageRequestManager_beginRequest(sender, args)
{
var postbackElem = args.get_postBackElement();
postbackElem.disabled = true;
}
Данный код отключает элемент пользовательского интерфейса при старте выполнения частичного постбэка (до того, как HTTP-запрос передан с клиента на сервер). Тем не менее, данный код в отдельности непригоден - нам необходимо активировать элемент пользовательского интерфейса в момент, когда закончится выполнение частичного постбэка.