Ajax Control Toolkit загружает слишком много ресурсов сценария

Я создал новый проект. Я установил Ajax Control Toolkit из NuGet. Затем я создал новую страницу 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 файла скриптовых ресурсов. Я беспокоюсь, потому что знаю, что это может повлиять на время загрузки страницы.

Это нормально?

Что я могу сделать?


person POIR    schedule 31.10.2013    source источник
comment
Найдите альтернативы jQuery/JavaScript необходимой вам функциональности. Microsoft отказалась от набора инструментов, и в настоящее время он поддерживается как проект с открытым исходным кодом.   -  person Karl Anderson    schedule 31.10.2013
comment
Я использую смесь ajaxControlToolkit и jQuery и знаю, что установка 150 файлов ресурсов сценария не является нормальным явлением. Куда устанавливаются эти файлы?   -  person Humpy    schedule 31.10.2013
comment
У меня такая же проблема на сайте .net 3.5. Ресурсы — это 150 вызовов scriptresource.axd для различных ресурсов javascript. Почему это не все в одном сценарии? Эти многочисленные вызовы не могут быть хорошими для сервера.   -  person ceetheman    schedule 21.11.2013


Ответы (1)


Выпуск CodePlex AjaxControlToolkit от июля 2013 г. пакеты управления.

После этого по умолчанию AjaxControlToolkit загружает все скрипты. Итак, чтобы управлять тем, какие сценарии для каких элементов управления следует добавлять и группировать, вам необходимо добавить AjaxControlToolkit.config в корень вашего проекта веб-приложения. Как в следующем примере:

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

Затем вам нужно будет указать, какие пакеты будут использоваться на какой странице (или главной странице, если у вас есть элементы управления, которые используются на всех страницах), добавив пакет с определенным именем в элемент управления диспетчера скриптов инструментария:

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

Примечания: здесь вы можете найти пример конфигурации, которая содержит большинство (возможно, все определение элементов управления из библиотеки инструментов управления ajax).

person Maxim Kornilov    schedule 22.11.2013
comment
Наконец кто-то ответил на мой вопрос. Спасибо! - person POIR; 25.11.2013