Как выполнять функции инициализации страницы в ASP.NET AJAX?

Кажется, есть ряд странных вещей, которые можно было бы сделать, если бы захотелось, для подключения событий типа загрузки страницы. Вот несколько конкретных вопросов:

  1. Я знаю о функции автоматического подключения pageLoad. Есть ли другие подобные?
  2. Где я могу подключить события, подобные событиям, например, Sys.Application.add_init или Sys.WebForms.PageRequestManager.getInstance().addPageLoading?
  3. В чем разница между первыми двумя из них и pageLoad, если есть?
  4. Довольно важно, как правильно убедиться, что все файлы ASP.NET AJAX загружены, прежде чем вы начнете подключать обработчики событий, обрабатывать страницу и т. д.? Мой текущий подход состоит в том, чтобы использовать автоматическое подключение pageLoad для подключения остальных, но это кажется довольно хакерским.

person Domenic    schedule 20.10.2008    source источник


Ответы (1)


  1. Встроенная функция pageLoad — это просто ярлык для события Sys.Application.load. Есть еще один — pageUnload. Дополнительную информацию можно найти здесь.
  2. Вы можете подключать эти события почти когда угодно — используя функцию pageLoad, вызывая метод add_init/add_load внутри блока скрипта или вызывая ScriptManager.RegisterStartupScript со стороны сервера. Просто убедитесь, что вы вызываете этот JavaScript внутри тега формы (см. № 4). По умолчанию все эти события происходят после загрузки страницы, поэтому к тому времени ваш код уже должен быть выполнен.
  3. Технически не должно быть никакой разницы между использованием pageLoad и событием загрузки — первое просто легче подключить.
  4. По умолчанию файлы сценариев ASP.NET Ajax отображаются сразу после начала тега формы. Это означает, что эти файлы будут загружены до того, как будет выполнен любой другой оператор JavaScript, определенный в теге формы.
person Atanas Korchev    schedule 20.10.2008