脚本管理器和工具包脚本管理器之间的区别

问题描述

||
ScriptManager
ToolkitScriptManager
有什么区别?我发现只有一个令人信服的理由:ѭ1可以提高页面性能。如果是这样,为什么要使用
ScriptManager
?     

解决方法

        首先:如果使用ASP.NET 3.5和AJAX控件Tookit中的控件,则必须使用ToolkitScriptManager,而不是ASP.NET ScriptManager。根据工具箱脚本管理器添加更新的Ajax脚本的事实,如果没有Ajax控件工具箱库中的大多数控件,此限制将不起作用。 如果您使用ASP.NET 4.0(4.5),则可以选择使用ScriptManager或ToolkitScriptManager。 基本上,ToolkitScriptManager的主要功能是可以结合使用ScriptReference集合添加到页面的js资源。这些js文件应嵌入到程序集中,并为此Assembly ScriptCombine程序集属性添加。这里的主要问题是,您无法控制脚本的组合方式,并且尝试组合自己的脚本后,可能会遇到很多问题(我在使用此功能方面经验丰富,因此我们拒绝组合脚本使用这种方法)。 这里的要点是,当前标准脚本管理器具有使用复合脚本集合来组合脚本的能力。此功能更灵活,并且更容易控制页面上脚本的组合方式。可以使用以下链接找到更多信息:http://weblogs.asp.net/infinitiesloop/archive/2009/11/23/asp-net-4-0-scriptmanager-improvements.aspx。 另外,请注意,据我所记得,如果您使用ToolkitScriptManager,则即使考虑到ToolkitScriptManager是从ScriptManager派生的,也无法使用CompositeScript功能。 因此,在ASP.NET 4.0中差异不那么大,最好避免使用ToolkitScriptManager。主要原因是,使用标准CompositeScript功能,您可以更好地控制脚本的组合方式,并可以优化页面的呈现。 对于ASP.NET 3.5,如果要使用Ajax控件工具包库中的控件,则别无选择。 编辑 通过对ajax控件工具包库的最新更改,他们可以继续更新MS Ajax脚本,这就是为什么某些控件如果不添加ToolkitScriptManager就无法工作的原因。