我们正在使用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项目,如何添加此属性?
答案 0 :(得分:3)
您需要将脚本作为资源添加到单独的库中,并从那里引用它们以利用脚本组合器。
编辑以提供漫游
创建一个新的类库项目(例如称为“CombinedScipts”),删除默认类。
添加对 AjaxControlToolkit 和 System.Web
的引用将JS文件添加到项目中,并将其Build Action属性更改为“Embedded Resource”。
打开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