我们正在使用asp.net ajaxControlTookKit的3.0.20229.0版本(.net 3.5 sp1之前)。我想知道是否可以将我们的自定义javascript文件合并到controlTookKit创建的ScriptResource.axd中。我发现了这篇文章(http://blogs.msdn.com/delay/archive/2007/06/11/script- combining-made-easy-overview-of-the-ajax-control-toolkit-s- toolkitscriptmanager .aspx),这告诉我需要将scriptCombine属性添加到程序集文件中。我们正在运行一个WebSite项目,如何添加此属性?
您将需要将脚本作为资源添加到单独的库中,并从那里引用它们以利用脚本组合器。
编辑以提供遍历
创建一个新的类库项目(例如,称为“ CombinedScipts”),删除默认类。
添加对 AjaxControlToolkit* 和 System.Web 的引用 *
将您的JS文件添加到项目中,然后将其“构建操作”属性更改为“嵌入式资源”。
打开AssemblyInfo.cs文件
添加以下内容:
// You need to add a web resource call for each JS file in the project [assembly: WebResource("CombinedScripts.Console.js", "text/javascript")] [assembly: WebResource("CombinedScripts.Utilities.js", "text/javascript")] // Not setting IncludeScripts or ExcludeScripts marks all scripts as // combinable. [assembly: AjaxControlToolkit.ScriptCombine()]
将此库添加为您的网站项目中的参考。
然后,在您的项目中,可以在ToolkitScriptManager标记之间添加以下内容:
<Scripts> <asp:ScriptReference name="CombinedScripts.Console.js" assembly="CombinedScripts" /> <asp:ScriptReference name="CombinedScripts.Utilities.js" assembly="CombinedScripts" /> </Scripts>
不要忘记确保将ToolkitScriptManager的CombineScripts属性设置为true。
然后,这导致对以下内容的一个调用:/pageName.aspx?TSM_HiddenField=ToolkitScriptManager1_HiddenField&[…]
其中将包含您的组合脚本,并带有注释定界符,例如:
//START CombinedScripts.Console.js [...] //END CombinedScripts.Console.js //START CombinedScripts.Utilities.js [...] //END CombinedScripts.Utilities.js