9

Tôi đã tạo một dự án mới. Tôi đã cài đặt Ajax Control Toolkit từ NuGet. Sau đó, tôi đã tạo một trang aspx mới với mã sau:Bộ công cụ kiểm soát Ajax đang tải quá nhiều tài nguyên tập lệnh

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <ajaxToolkit:ToolkitScriptManager ID="toolkitScriptMaster" runat="server"> 
     </ajaxToolkit:ToolkitScriptManager> 
     hello!!!! 

    </div> 
    </form> 
</body> 
</html> 

Tôi đã chết lặng khi thấy ajaxtookit đã tạo 152 tệp tài liệu scriptresources. Tôi lo lắng vì tôi biết rằng điều này có thể ảnh hưởng đến thời gian tải của trang.

Có bình thường không?

Tôi có thể làm gì?

+0

Tìm các lựa chọn thay thế jQuery/JavaScript cho chức năng bạn cần. Microsoft đã từ bỏ bộ công cụ và nó hiện được duy trì như một dự án mã nguồn mở. –

+0

Tôi sử dụng một hỗn hợp của ajaxControlToolkit và jQuery và tôi biết rằng nó không phải là bình thường đối với 150 tập tin scriptresource được cài đặt. Các tệp này đang được cài đặt ở đâu? – Humpy

+0

Tôi gặp vấn đề tương tự trên trang web .net 3.5. Các tài nguyên là 150 cuộc gọi tới scriptresource.axd cho các tài nguyên javascript khác nhau. Tại sao không phải tất cả trong một kịch bản? Những cuộc gọi này không thể tốt cho máy chủ. – ceetheman

Trả lời

17

Phát hành AjaxControlToolkit của CodePlex tháng 7 năm 2013 introducing control bundles.

Sau này theo mặc định, AjaxControlToolkit tải tất cả các tập lệnh. Vì vậy, để quản lý những tập lệnh nào cho những điều khiển nào cần được thêm vào và được nhóm lại, bạn cần thêm AjaxControlToolkit.config vào thư mục gốc của dự án ứng dụng web của bạn. Giống như trong ví dụ sau:

<ajaxControlToolkit> 
    <controlBundles> 
    <controlBundle> 
     <control name="CalendarExtender" /> 
     <control name="ComboBox" /> 
     </controlBundle> 
    <controlBundle name="CalendarBundle"> 
     <control name="CalendarExtender"></control> 
    </controlBundle> 
    </controlBundles> 
</ajaxControlToolkit> 

Sau đó, bạn sẽ cần phải xác định những bundels sẽ được sử dụng trên trang nào (hoặc chủ trang nếu bạn có điều khiển được sử dụng trên tất cả các trang) bằng cách thêm bó với tên cụ thể để bộ công cụ kiểm soát quản lý kịch bản:

<ajaxToolkit:ToolkitScriptManager runat="server" CombineScripts="true" 
    ScriptMode="Release" > 
    <ControlBundles> 
     <ajaxToolkit:ControlBundle Name="Calendar" /> 
    </ControlBundles> 
</ajaxToolkit:ToolkitScriptManager> 

Ghi chú: here bạn có thể tìm thấy ví dụ về cấu hình, trong đó có hầu hết (có lẽ tất cả định nghĩa của điều khiển từ thư viện bộ công cụ kiểm soát ajax).

+1

Cuối cùng, ai đó đã trả lời câu hỏi của tôi. Cảm ơn! – POIR

+1

OK của nó để tải tất cả các tập lệnh, nhưng TẠI SAO trong 100 yêu cầu?!?! Tại sao tại sao..... – ppumkin

Các vấn đề liên quan