2009-03-09 2 views
6

Мы используем версию 3.0.20229.0 asp.net ajaxControlTookKit (до .net 3.5 sp1). Мне было интересно, могу ли я объединить наши пользовательские файлы javascript в ScriptResource.axd, созданный controlTookKit. Я нашел эту статью (http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx) , которая говорит мне, что мне нужно добавить атрибут scriptCombine в файл сборки. Мы запускаем проект WebSite, как добавить этот атрибут?сочетать скрипты в asp.net ajax toolkit

ответ

3

Вам нужно будет добавить сценарии в качестве ресурсов в отдельную библиотеку и ссылаться на них оттуда, чтобы воспользоваться компилятором сценариев.

Редактировать, чтобы обеспечить прогулку по

Создайте новый проект библиотеки классов (так называемый, например, «CombinedScipts»), удалить класс по умолчанию.

Добавить ссылку на как AjaxControlToolkit и System.Web

Добавить файлы JS в проекте, а также изменить их свойства Действие при построении на «Embedded Resource».

Откройте файл AssemblyInfo.cs

Добавьте следующее:

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

Добавить эту библиотеку в качестве ссылки в вашем веб-сайте проекта.

В вашем проекте, вы можете добавить следующее между тегами ToolkitScriptManager:

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

Не забывая, чтобы гарантировать, что свойство CombineScripts из ToolkitScriptManager устанавливается истина.

Это то приводит один вызов к чему-то вроде: /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField & [...]

Какие будут ваши объединенные сценарии в, с комментарием разделителей, как:

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

Есть ли у вас примеры такого подхода? – Herman

+0

Извините, я писал прохождение, как вы прокомментировали. –

+0

Спасибо вам большое. .NET 3.5 sp1 обеспечивает гораздо более эффективное решение этой проблемы: http://www.asp.net/learn/3.5-SP1/video-296.aspx. Думаю, я подожду, пока мы обновим нашу структуру. Еще раз спасибо. – Herman

Смежные вопросы