2009-03-09 9 views
6

Si utilizza la versione 3.0.20229.0 di asp.net ajaxControlTookKit (precedente a .net 3.5 sp1). Mi stavo chiedendo se posso combinare i nostri file javascript personalizzati nello ScriptResource.axd creato da controlTookKit. Ho trovato questo articolo (http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx) che mi dice che ho bisogno di aggiungere l'attributo scriptCombine al file assembly. Stiamo eseguendo un progetto WebSite, come posso aggiungere questo attributo?combinare gli script in asp.net ajax toolkit

risposta

3

È necessario aggiungere gli script come risorse a una libreria separata e farvi riferimento da lì per sfruttare il combinatore di script.

Modifica per fornire una passeggiata attraverso

Creare un nuovo progetto Libreria di classi (chiamato ad esempio "CombinedScipts"), rimuovere la classe predefinita.

Aggiungere un riferimento sia alla AjaxControlToolkit e System.Web

aggiungere i file JS al progetto, e cambiare le loro proprietà Operazione di generazione "embedded risorse".

Aprire le AssemblyInfo.cs il file

Aggiungere il seguente:

// You need to add a web resource call for each JS file in the project 
[assembly: WebResource("CombinedScripts.Console.js", "text/javascript")] 
[assembly: WebResource("CombinedScripts.Utilities.js", "text/javascript")] 
// Not setting IncludeScripts or ExcludeScripts marks all scripts as 
// combinable. 
[assembly: AjaxControlToolkit.ScriptCombine()] 

Aggiungi questa libreria come riferimento nel progetto del sito web.

Nel progetto, è possibile aggiungere il seguente tra i tag ToolkitScriptManager:

<Scripts> 
    <asp:ScriptReference name="CombinedScripts.Console.js" 
         assembly="CombinedScripts" /> 
    <asp:ScriptReference name="CombinedScripts.Utilities.js" 
         assembly="CombinedScripts" /> 
</Scripts> 

Non dimenticando per assicurare che la proprietà CombineScripts del ToolkitScriptManager è impostata su true.

Ciò si traduce poi in una chiamata a qualcosa di simile: /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField & [...]

che avrà i propri script combinati in, con delimitatori di commento come:

//START CombinedScripts.Console.js 
[...] 
//END CombinedScripts.Console.js 
//START CombinedScripts.Utilities.js 
[...] 
//END CombinedScripts.Utilities.js 
+0

avete qualche esempio riguardo questo approccio? – Herman

+0

Scusa, stavo scrivendo la descrizione mentre commentavi. –

+0

Grazie mille. .NET 3.5 sp1 offre una soluzione molto più pulita a questo problema: http://www.asp.net/learn/3.5-SP1/video-296.aspx. Immagino che aspetterò fino a quando non aggiorneremo il nostro framework. Grazie ancora. – Herman

Problemi correlati