9

Ich habe ein neues Projekt erstellt. Ich habe Ajax Control Toolkit von NuGet installiert. Dann habe ich eine neue Seite aspx mit folgendem Code:Ajax Control Toolkit lädt zu viele Skript-Ressourcen

<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> 

Ich war sprachlos, als ich das sah ajaxtookit erstellt 152 scriptresources Dateien. Ich mache mir Sorgen, weil ich weiß, dass dies die Ladezeit der Seite beeinflussen kann.

Ist das normal?

Was kann ich tun?

+0

Finden Sie jQuery/JavaScript-Alternativen zu der Funktionalität, die Sie benötigen. Microsoft hat das Toolkit aufgegeben und es wird derzeit als Open Source-Projekt beibehalten. –

+0

Ich benutze eine Mischung aus dem ajaxControlToolkit und jQuery und ich weiß, dass es nicht normal ist, dass 150 ScriptResource-Dateien installiert werden. Wo werden diese Dateien installiert? – Humpy

+0

Ich habe das gleiche Problem auf einer .net 3.5 Website passiert. Die Ressourcen sind 150 Aufrufe von scriptresource.axd für verschiedene Javascript-Ressourcen. Warum sind das nicht alle in einem Skript? Diese vielen Anrufe können nicht gut für den Server sein. – ceetheman

Antwort

17

CodePlex AjaxControlToolkit-Version von Juli 2013 introducing control bundles.

Danach lädt AjaxControlToolkit standardmäßig alle Skripte. Um zu verwalten, welche Skripts für welche Steuerelemente hinzugefügt und gruppiert werden sollen, müssen Sie AjaxControlToolkit.config dem Stammverzeichnis Ihres Webanwendungsprojekts hinzufügen. Wie im folgende Beispiel:

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

Dann müssen Sie angeben, welche bundels wollen verwendet werden, auf welcher Seite (oder Master-Seite, wenn Sie Steuerelemente haben, die auf allen Seiten verwendet werden) durch Zugabe von Bündel mit bestimmten Namen

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

Bemerkungen:: Skript-Manager Kontrolle Toolkit here können Sie Beispiel für die Konfiguration finden, die meisten (vielleicht alle Definition der Kontrollen von aJAX Control Toolkit-Bibliothek) enthält.

+1

Endlich hat jemand meine Frage beantwortet. Vielen Dank! – POIR

+1

Es ist OK, alle Skripte zu laden, aber WARUM in 100 Anfrage?!?! Warum Warum..... – ppumkin

Verwandte Themen