Chúng tôi đang sử dụng phiên bản 3.0.20229.0 của asp.net ajaxControlTookKit (trước .net 3.5 sp1). Tôi đã tự hỏi nếu tôi có thể kết hợp các tập tin javascript tùy chỉnh của chúng tôi vào ScriptResource.axd mà controlTookKit tạo ra. Tôi đã tìm thấy bài viết này (http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx) cho tôi biết rằng tôi cần phải thêm thuộc tính scriptCombine vào tệp assembly. Chúng tôi đang chạy một dự án WebSite, làm thế nào tôi có thể thêm thuộc tính này?kết hợp các tập lệnh trong bộ công cụ asp.net ajax
Trả lời
Bạn sẽ cần phải thêm tập lệnh dưới dạng tài nguyên vào thư viện riêng biệt và tham khảo chúng từ đó để tận dụng bộ kết hợp tập lệnh.
Chỉnh sửa để cung cấp một đi bộ qua
Tạo một dự án Thư viện Class mới (gọi tắt là ví dụ "CombinedScipts"), loại bỏ các lớp mặc định.
Thêm một tham chiếu đến cả AjaxControlToolkit và System.Web
Thêm file JS của bạn cho dự án, và thay đổi thuộc tính Build Action của họ để "Embedded Resource".
Mở AssemblyInfo.cs nộp
Thêm dòng sau:
// 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()]
Thêm thư viện này như một tài liệu tham khảo trong dự án trang web của bạn.
Trong dự án của bạn, sau đó bạn có thể thêm những điều sau đây giữa các thẻ ToolkitScriptManager:
<Scripts>
<asp:ScriptReference name="CombinedScripts.Console.js"
assembly="CombinedScripts" />
<asp:ScriptReference name="CombinedScripts.Utilities.js"
assembly="CombinedScripts" />
</Scripts>
Không quên để đảm bảo rằng tài sản của ToolkitScriptManager CombineScripts được thiết lập là true.
này sau đó dẫn đến một cuộc gọi đến một cái gì đó như: /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField & [...]
Mà sẽ có kịch bản kết hợp của bạn trong, với delimiters bình luận như:
//START CombinedScripts.Console.js
[...]
//END CombinedScripts.Console.js
//START CombinedScripts.Utilities.js
[...]
//END CombinedScripts.Utilities.js
bạn có bất kỳ ví dụ nào về cách tiếp cận này không? – Herman
Xin lỗi, tôi đang viết đi bộ khi bạn nhận xét. –
Cảm ơn bạn rất nhiều. .NET 3.5 sp1 cung cấp một giải pháp sạch hơn cho vấn đề này: http://www.asp.net/learn/3.5-SP1/video-296.aspx. Tôi đoán tôi sẽ đợi cho đến khi chúng tôi nâng cấp framework của mình. Cảm ơn một lần nữa. – Herman