9

我创建了一个新项目。我从NuGet安装了Ajax Control Toolkit。然后,我创建了一个新的ASPX页面与下面的代码:Ajax Control Toolkit正在加载太多脚本资源

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <ajaxToolkit:ToolkitScriptManager ID="toolkitScriptMaster" runat="server"> 
     </ajaxToolkit:ToolkitScriptManager> 
     hello!!!! 

    </div> 
    </form> 
</body> 
</html> 

当我看到ajaxtookit创建152个scriptresources文件,我傻眼了。 我很担心,因为我知道这会影响页面的加载时间。

这是正常的吗?

我该怎么办?

+0

找到您所需功能的jQuery/JavaScript替代方案。微软已经放弃了这个工具包,目前它被维护为一个开源项目。 –

+0

我使用了ajaxControlToolkit和jQuery的混合体,我知道150个scriptresource文件的安装是不正常的。这些文件在哪里安装? – Humpy

+0

我在.net 3.5网站上发生同样的问题。这些资源是150个对scriptresource.axd调用各种javascript资源的调用。为什么这些都不在一个脚本中?这些很多通话对服务器来说都不好。 – ceetheman

回答

17

CodePlex的AjaxControlToolkit 2013年7月发布introducing control bundles

默认情况下,AjaxControlToolkit加载所有脚本。因此,要管理应该添加和分组哪些脚本,需要将AjaxControlToolkit.config添加到Web应用程序项目的根目录。就像下面的例子:

<ajaxControlToolkit> 
    <controlBundles> 
    <controlBundle> 
     <control name="CalendarExtender" /> 
     <control name="ComboBox" /> 
     </controlBundle> 
    <controlBundle name="CalendarBundle"> 
     <control name="CalendarExtender"></control> 
    </controlBundle> 
    </controlBundles> 
</ajaxControlToolkit> 

然后你需要用特定的名称添加捆绑到指定bundels将要哪个页面(或母版页,如果你有这是在所有页面上使用的控件)上使用以工具包脚本管理控制:

<ajaxToolkit:ToolkitScriptManager runat="server" CombineScripts="true" 
    ScriptMode="Release" > 
    <ControlBundles> 
     <ajaxToolkit:ControlBundle Name="Calendar" /> 
    </ControlBundles> 
</ajaxToolkit:ToolkitScriptManager> 

备注:here你可以找到例如包含大部分(也许所有的控件从AJAX控件工具包库定义)的配置的。

+1

最后有人回答我的问题。谢谢! – POIR

+1

它可以加载所有的脚本,但为什么在100请求?!?!为什么为什么..... – ppumkin