Ajax Control Toolkit正在加载太多的脚本资源

时间:2013-10-31 15:34:50

标签: asp.net ajaxcontroltoolkit webresource.axd scriptresource.axd

我创建了一个新项目。我从NuGet安装了Ajax Control Toolkit。然后我用以下代码创建了一个新页面aspx:

<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文件时,我感到茫然。 我很担心,因为我知道这会影响页面的加载时间。

这是正常的吗?

我该怎么办?

1 个答案:

答案 0 :(得分:17)

CodePlex的2013年7月发布的AjaxControlToolkit 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>

然后,您需要通过向工具包脚本管理器控件添加具有特定名称的bundle来指定将在哪个页面上使用哪些bundels(或者如果您有所有页面上使用的控件则使用母版页):

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

备注:here你可以找到包含最多的配置示例(可能是ajax控件工具包库中所有控件的定义)。