腳本管理器和工具包腳本管理器的區別
ScriptManager和 和有什麼區別ToolkitScriptManager?我發現只有一個令人信服的理由:ToolkitScriptManager提高頁面性能。如果是,為什麼要使用ScriptManager?
首先:如果您使用 ASP.NET 3.5 和 AJAX Control Tookit 中的控制項,那麼您必須使用 ToolkitScriptManager,而不是 ASP.NET ScriptManager。這個限制是因為工具包腳本管理器添加了更新的 Ajax 腳本,沒有這個限制,來自 Ajax Control 工具包庫的大多數控制項都將無法工作。
如果您使用 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,那麼您將無法使用 CompositeScript 功能,即使考慮到 ToolkitScriptManager 派生自 ScriptManager。
所以,在 ASP.NET 4.0 中差別不是很大,最好避免使用 ToolkitScriptManager。主要原因是使用標準的 CompositeScript 功能,您可以更好地控制腳本的組合方式,並可以優化頁面的呈現。
對於 ASP.NET 3.5,如果您想使用 Ajax Control Toolkit 庫中的控制項,您沒有選擇。
編輯
隨著 ajax 控制項工具包庫中的最新更改,他們繼續更新 MS Ajax 腳本,這就是為什麼如果不添加 ToolkitScriptManager 某些控制項將無法工作的原因。