0

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

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

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

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

4

4 回答 4

2

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

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

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

于 2009-05-11T18:26:30.263 回答
1

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

于 2009-03-11T05:52:34.887 回答
0

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

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

于 2009-03-11T06:08:11.543 回答
-1

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

干杯,奥利弗

于 2009-12-16T12:57:02.667 回答