在Microsoft AJAX部分回发上向脚本管理器添加脚本引用(JavaScript)

时间:2011-06-08 17:07:24

标签: javascript .net asp.net asp.net-ajax 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 个答案:

答案 0 :(得分:2)

看看这个SO-Question,因为它回答了你的问题:

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