9

Ho creato un nuovo progetto. Ho installato Ajax Control Toolkit da NuGet. Poi ho creato una nuova pagina aspx con seguente codice:Ajax Control Toolkit sta caricando troppe risorse di script

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

Ero sbalordito quando ho visto che ajaxtookit creato 152 file scriptresources. Sono preoccupato perché so che questo può influenzare il tempo di caricamento della pagina.

È normale?

Cosa posso fare?

+0

Trova alternative jQuery/JavaScript alle funzionalità necessarie. Microsoft ha abbandonato il toolkit e attualmente viene gestito come un progetto open source. –

+0

Uso una combinazione di ajaxControlToolkit e jQuery e so che non è normale che siano installati 150 file scriptresource. Dove sono installati questi file? – Humpy

+0

Ho lo stesso problema che si verifica su un sito Web .net 3.5. Le risorse sono 150 chiamate a scriptresource.axd per varie risorse javascript. Perché non sono tutti in uno script? Queste molte chiamate non possono essere buone per il server. – ceetheman

risposta

17

Versione AjaxControlToolkit di CodePlex del luglio 2013 introducing control bundles.

Dopo questo, per impostazione predefinita, AjaxControlToolkit carica tutti gli script. Quindi, per gestire quali script per quali controlli devono essere aggiunti e raggruppati è necessario aggiungere AjaxControlToolkit.config alla radice del progetto di applicazione Web. Come nel seguente esempio:

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

allora si avrà bisogno di specificare quale bundels stanno per essere utilizzato su quale pagina (o padrone pagina se si dispone di controlli che vengono utilizzati in tutte le pagine) con l'aggiunta di fascio con nome specifico al toolkit script di controllo responsabile:

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

Osservazioni: here si possono trovare ad esempio della configurazione, che contiene la maggior parte (forse tutti definizione dei controlli dalla libreria toolkit di controllo Ajax).

+1

Finalmente qualcuno ha risposto alla mia domanda. Grazie! – POIR

+1

Va bene per caricare tutti gli script, ma PERCHÉ in 100 richiesta?!?! Perchè perchè..... – ppumkin