Добавить ссылку на скрипт (JavaScript) в диспетчер скриптов при частичной обратной передаче Microsoft AJAX - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь добавить ссылку на скрипт в диспетчер скриптов в случае частичной обратной передачи 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 Ответ

2 голосов
/ 09 июня 2011

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

function dynamic() {
  alert('dynamic');
  $('#divDyn').text('Dynamic!');
}
// notify that the script has been loaded <-- new!
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
...