小编典典

在asp.net ajax工具包中合并脚本

ajax

我们正在使用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项目,如何添加此属性?


阅读 256

收藏
2020-07-26

共1个答案

小编典典

您将需要将脚本作为资源添加到单独的库中,并从那里引用它们以利用脚本组合器。

编辑以提供遍历

创建一个新的类库项目(例如,称为“ 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
2020-07-26