【问题标题】:Add Script Reference (JavaScript) to Script Manager on Microsoft AJAX Partial Postback将脚本引用 (JavaScript) 添加到 Microsoft AJAX 部分回发上的脚本管理器
【发布时间】:2011-09-11 01:41:25
【问题描述】:

我正在尝试在 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,以缩短页面的加载时间

【问题讨论】:

  • 看看这个 SO-Question 因为它可能会回答你的问题:stackoverflow.com/questions/1916618/…
  • @Tim 虽然这是解决问题的一个优雅的解决方案,但我正在使用遗留代码,在我的情况下实现它会很痛苦。我将更新我的问题以进一步解释。
  • @Tim 我完全误解了stackoverflow.com/questions/1916618/…,我已经尝试过了,它可以工作。您能否提供它作为答案,以便我将问题标记为已回答?

标签: javascript .net asp.net asp.net-ajax microsoft-ajax


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-01-29
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2013-04-07
    • 1970-01-01
    • 2015-09-26
    相关资源
    最近更新 更多