【问题标题】:Programatically prevent ASP .NET AJAX scripts from rendering以编程方式阻止 ASP .NET AJAX 脚本呈现
【发布时间】:2009-03-11 05:28:39
【问题描述】:

有谁知道我可以阻止所有 .NET AJAX 脚本呈现的方法,即使页面上存在 ScriptManager?

ScriptManager 的 Visible 属性已被覆盖和禁用,因此如果您尝试设置 Visible 属性,则会收到 NotImplementedException。

我想这样做的原因是我不希望这些大块的 javascript 在不需要时遍布我的页面。 ScriptManager 需要包含在母版页中,以确保只添加一个 ScriptManager,但是必须拥有同一个母版页的两个版本 - 一个启用 ajax,一个不启用,这将是愚蠢的。

编辑:我实际上是在使用 Telerik 的 RadScriptManager 和 RadAjax,以防有人知道使用这些类的方法。

【问题讨论】:

    标签: asp.net ajax scriptmanager


    【解决方案1】:

    查看 Bertrand LeRoy 的“将 ScriptManager 与其他框架一起使用”

    http://weblogs.asp.net/bleroy/archive/2008/07/07/using-scriptmanager-with-other-frameworks.aspx

    包含一个从 ScriptManager 继承的控件,该控件撤消了一些内置脚本添加并允许您将其替换为您喜欢的任何框架。

    【讨论】:

      【解决方案2】:

      不要将它用作母版页中的实际控件,而是创建它的实例并在需要时将其添加到页面中;甚至可能在您的母版页上有一个属性来控制它是否被包含在内。

      【讨论】:

        【解决方案3】:

        您可以检查的一个选项可能是使用 ScriptManager 的 CompositeScript 块。这样,您可以将它们全部合并到 1 个浏览器可缓存的脚本资源调用中。您也可以将任何其他常用脚本添加到此块中。

        有一个关于它的screencast,我以前用过它,它似乎工作得很好。

        【讨论】:

          【解决方案4】:

          我已经解决了一个类似的问题 - 即:以编程方式将 HoverMenuExtender 从 Ajax 控件工具包中排除在外 - 通过将其包装在 标记中,该标记允许设置其 代码隐藏中的可见属性。如果占位符不可见,它将不会呈现到页面上 - 包括所有子控件。没有用 ScriptManager 尝试过,但它也可以在这里工作。

          干杯,奥利弗

          【讨论】:

            猜你喜欢
            • 2021-09-07
            • 2010-12-15
            • 1970-01-01
            • 1970-01-01
            • 2011-03-08
            • 1970-01-01
            • 1970-01-01
            • 2011-07-01
            • 2011-02-02
            相关资源
            最近更新 更多