Добавить ссылку на скрипт (JavaScript) в диспетчер скриптов при частичной обратной передаче Microsoft AJAX

Я пытаюсь добавить ссылку на скрипт в диспетчер скриптов в случае частичной обратной передачи Microsoft AJAX, то есть пользователь нажимает на ссылку в панели обновления.

ScriptManager.RegisterClientScriptInclude(Page, Page.GetType(), "UniqueName",
                                          Page.ResolveUrl(scriptPath));

Не работает и работает

ScriptReference script = new ScriptReference(scriptPath);
MyScriptManager.Scripts.Add(script);

Из того, что я прочитал в сети, RegisterClientScriptInclude должен работать даже при частичной обратной передаче. http://www.codeproject.com/KB/ajax/addingCssJsAjaxPartialPos.aspx

Кто-нибудь может дать какие-либо идеи, почему они не работают, или другой способ сделать это?

РЕДАКТИРОВАТЬ: Дополнительная информация.
Я работаю с очень большой унаследованной кодовой базой, в которой есть формы и менеджер скриптов на каждой странице, а не на главной странице. Я хотел бы поместить код в класс и использовать следующий вызов, чтобы добавить эффект javascript.

ClientSideScripts.BackgroundColourFade(Page, ScriptManager, Control);

Причины, по которым я хочу включить скрипт в вызов метода

  1. Потребности метода не должны помнить, чтобы включить сценарий
  2. Изменение используемого сценария требует изменения только в одном месте.
  3. Включайте JavaScript только тогда, когда необходимо уменьшить время загрузки страницы.

1 ответ

Решение

Посмотрите на этот SO-вопрос, потому что он отвечает на ваш вопрос:

function dynamic() {
  alert('dynamic');
  $('#divDyn').text('Dynamic!');
}
// notify that the script has been loaded <-- new!
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Другие вопросы по тегам