6

我们正在使用 3.0.20229.0 版的 asp.net ajaxControlTookKit(在 .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 属性添加到程序集文件中。我们正在运行一个网站项目,我该如何添加这个属性?

4

1 回答 1

3

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

编辑以提供演练

创建一个新的类库项目(例如称为“CombinedScipts”),删除默认类。

添加对AjaxControlToolkitSystem.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
于 2009-03-09T15:30:38.430 回答