2009-03-09 6 views
6

Nous utilisons la version 3.0.20229.0 de l'asp.net ajaxControlTookKit (avant .net 3.5 sp1). Je me demandais si je pouvais combiner nos fichiers javascript personnalisés dans le ScriptResource.axd que le controlTookKit crée. J'ai trouvé cet article (http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx) qui me dit que j'ai besoin d'ajouter l'attribut scriptCombine au fichier d'assembly. Nous gérons un projet WebSite, comment puis-je ajouter cet attribut?combiner des scripts dans asp.net ajax toolkit

Répondre

3

Vous devez ajouter les scripts en tant que ressources à une bibliothèque séparée et les référencer à partir de là pour tirer parti du combineur de script.

Modifier pour fournir une promenade à travers

Créer un nouveau projet de bibliothèque de classes (appelé par exemple « CombinedScipts »), retirez la classe par défaut.

Ajouter une référence à la fois la AjaxControlToolkit et System.Web

Ajoutez vos fichiers JS au projet, et changer leur propriété Action de génération « ressource incorporée ».

Ouvrez le fichier AssemblyInfo.cs

Ajouter les éléments suivants:

// 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()] 

Ajouter cette bibliothèque comme une référence dans votre projet de site Web.

Dans votre projet, vous pouvez ajouter ce qui suit entre les balises ToolkitScriptManager:

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

Sans oublier de faire en sorte que la propriété CombineScripts du ToolkitScriptManager est définie sur true.

Il en résulte alors un appel à quelque chose comme: /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField & [...]

qui aura vos scripts associés à, avec un commentaire délimiteurs comme:

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

avez-vous des exemples concernant cette approche? – Herman

+0

Désolé, j'écrivais la promenade comme vous l'avez commenté. –

+0

Merci beaucoup. .NET 3.5 sp1 fournit une solution beaucoup plus propre à ce problème: http://www.asp.net/learn/3.5-SP1/video-296.aspx. Je suppose que je vais attendre jusqu'à ce que nous améliorions notre cadre alors. Merci encore. – Herman

Questions connexes