2008-10-20 2 views
2

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

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

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

Спасибо!

ответ

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