2009-03-09 11 views
6

Wir verwenden Version 3.0.20229.0 des asp.net ajaxControlTookKit (vor. NET 3.5 SP1). Ich habe mich gefragt, ob ich unsere benutzerdefinierten Javascript-Dateien in die ScriptResource.axd kombinieren kann, die das ControlTookKit erstellt. Ich habe diesen Artikel (http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx) gefunden, der mir sagt, dass ich das scriptCombine-Attribut der Assemblydatei hinzufügen muss. Wir führen ein WebSite-Projekt aus. Wie kann ich dieses Attribut hinzufügen?kombinieren Skripte in asp.net Ajax Toolkit

Antwort

3

Sie müssten die Skripts als Ressourcen zu einer separaten Bibliothek hinzufügen und sie von dort referenzieren, um den Skriptkombinator zu nutzen.

bearbeitet einen Spaziergang durch

ein neues Projekt Klassenbibliothek erstellen, um (genannt zum Beispiel „CombinedScipts“), die Standardklasse entfernen.

einen Verweis hinzufügen sowohl für den AjaxControlToolkit und System.Web

Ihre JS-Dateien zum Projekt hinzu, und ihre Action Eigenschaft ändern, um „Ressourcen Embedded“.

Öffnen Sie die AssemblyInfo.cs

Fügen Sie die folgende Datei:

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

Fügen Sie diese Bibliothek als Referenz in Ihrer Web-Site-Projekt.

in Ihrem Projekt können Sie dann den folgenden zwischen den ToolkitScriptManager Tags hinzufügen:

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

Nicht, dass die CombineScripts Eigenschaft des ToolkitScriptManager auf true gesetzt, um sicherzustellen, zu vergessen.

Dies führt dann in einem Aufruf zu so etwas wie: /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField & [...]

Welche Ihre kombinierten Skripte in, mit Kommentarbegrenzer wie haben:

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

Haben Sie Beispiele für diesen Ansatz? – Herman

+0

Entschuldigung, ich habe den Rundgang geschrieben, als Sie kommentiert haben. –

+0

Vielen Dank. .NET 3.5 SP1 bietet eine viel sauberere Lösung für dieses Problem: http://www.asp.net/learn/3.5-SP1/video-296.aspx. Ich denke, ich werde warten, bis wir unser Framework dann aktualisieren. Danke noch einmal. – Herman