• Microsoft .NET
  • ASP.NET
  • Создание серверных элементов управления во время выполнения с помощью модулей HTTP

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-запрос передан с клиента на сервер). Тем не менее, данный код в отдельности непригоден - нам необходимо активировать элемент пользовательского интерфейса в момент, когда закончится выполнение частичного постбэка.