Интеграция различных скриптов на страницу, где используется MS Ajax - задача нередкая, но единого решения для неё не существует. Я поделюсь с вами некоторыми методами, которые помогут интегрировать срипт в вашу страницу.

  • Никогда не подключайте скрипты с помощью тега <script src="..."></script>. Вместо этого следует использовать копмонени ScriptManager либо ScriptManagerProxy.
  • Что бы не говорили разработчики MS Ajax и AjaxControlToolkit, в конец каждого файла со скриптом следует добавить такой код:
    if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
    Данный код указывает на то, что скрипт полностью загрущился и можно его выполнять.
  • Если скрипт необходимо подгружать только в определённых ситуациях (например, добавление нового компонента на форму), то его следует регистрировать с помощью статических методов класса ScriptManager вида RegisterClientScriptXXX().
  • Для выполнения скрипта после загрузки на страницу есть несколько методов:
    1) использовать клиентское событие EndRequest;
    2) создать функцию с именем pageLoad() - метод аналогичен первому;
    3) если скрипт необходимо зарегистрировать с помощью серверного кода, то используйте метод ScriptManager.RegisterStartupScript().

Эти методы не являются панацеей от всех бед, но помогают экономить часть времени, необходимого на интеграцию скриптов. Иногда хватает только этого, иногда приходится часами отлаживать чужой javascript, но знать о них, как я думаю, должен каждый разработчик, использующий MS Ajax.


Comments are closed