解决方法
如果使用ASP.NET 4.0(4.5)比您选择使用ScriptManager或ToolkitScriptManager。
基本上,ToolkitScriptManager的主要特点是它可以将使用ScriptReference集合添加到页面的js资源进行组合。这些js文件应该嵌入到程序集中,并且对于此程序集,应添加ScriptCombine程序集属性。这里的主要问题是您无法控制脚本的组合方式,并且在尝试组合自己的脚本后,您可能会遇到很多问题(我有使用此功能的经验,因此我们拒绝使用脚本组合使用这种方法)。
这里的要点是,目前标准的脚本管理器可以使用复合脚本集合来组合脚本。此功能更灵活,更容易控制脚本在页面上的组合方式。可以使用以下链接找到更多信息:http://weblogs.asp.net/infinitiesloop/archive/2009/11/23/asp-net-4-0-scriptmanager-improvements.aspx。
另外请注意,据我所知,如果您使用ToolkitScriptManager,那么您将无法使用CompositeScript功能,甚至可以考虑ToolkitScriptManager派生自ScriptManager。
所以在ASP.NET 4.0中的区别并不是很大,最好避免使用ToolkitScriptManager。主要原因是使用标准的CompositeScript功能,您可以更好地控制脚本的组合方式,并优化页面的渲染。
对于ASP.NET 3.5,如果要使用Ajax Control Toolkit库中的控件,您无需选择。
编辑
通过ajax控件工具箱库中的最新更改,他们继续更新MS Ajax脚本,这就是为什么一些控件在不添加ToolkitScriptManager的情况下无法正常工作。