2009-02-19 31 views
9

Tôi đang xây dựng một trang web mới và muốn sử dụng các điều khiển Ajax.Trình quản lý tập lệnh Ajax và trang chính

Tôi có cần đặt điều khiển ScriptManager trên cả MasterPage và trên mỗi trang nội dung không? hoặc Chỉ trên MasterPage? (hoặc chỉ trên trang nội dung?)

Trả lời

6

Bạn chỉ được phép có một ScriptManager. Bạn có thể có nó trên một trong hai. Có nó trên trang chủ giúp bạn tiết kiệm công việc thêm nó trên các trang nội dung. Tuy nhiên, bạn có thể viết tập lệnh tùy chỉnh trong trình quản lý tập lệnh nếu bạn có tập lệnh đó trong các trang nội dung. Như đã nêu dưới đây, có hai ScriptManagers ném một lỗi khi tải trang.

1

Chỉ trang chính. Trừ khi bạn sẽ có các kịch bản tùy chỉnh như đã đề cập ở trên, tôi khuyên bạn chỉ nên đặt nó trên Trang cái để bạn không phải đặt nó trên mọi trang sẽ sử dụng điều khiển ajax.

Nếu bạn có nó trên cả nó ném một lỗi nói rằng bạn chỉ có thể có một ScriptManager/trang

1

Bạn đang tìm kiếm chức năng nào? Rất có thể bạn sẽ có thể làm nhiều như vậy hoặc nhiều hơn, nhưng với dấu chân nhẹ hơn, mã hoạt động tốt hơn và kiểm soát tốt hơn những gì thực sự xảy ra nếu bạn sử dụng jQuery để thay thế. Kiểm tra nó ra!

+0

Tôi muốn sử dụng Điều khiển Ajax –

+0

Nếu bạn muốn sử dụng Điều khiển Ajax, tôi sẽ không ngăn bạn. Nhưng nếu những gì bạn muốn là để có được một số trong những điều mà Ajax Controls cung cấp, tôi nghĩ bạn sẽ ngạc nhiên khi thấy rằng nó thậm chí còn dễ dàng hơn để làm điều tương tự - tốt hơn - với jQuery. –

+0

Sử dụng điều khiển ajax là tốt nhưng có thể có trường hợp khi jquery sẽ rất hữu ích. Nếu bạn chưa bao giờ sử dụng nó trước khi tôi rất muốn khuyên bạn nên kiểm tra nó ra. Nếu bạn định viết bất kỳ javascript nào thì đó là trình bảo vệ cuộc sống. –

13

Trang nội dung hoặc MasterPages chỉ có thể có một điều khiển ScriptManager trên chúng. Nếu bạn có một điều khiển ScriptManager trên MasterPage của bạn, bạn có thể thả một điều khiển ScriptManagerProxy lên các trang nội dung của bạn để sử dụng bất kỳ chức năng cụ thể ASP.NET AJAX cho như thế này, ví dụ:

<asp:Content ID="Content1" ContentPlaceHolderID="BodyContent" runat="server"> 
    <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> 
     <Services> 
      <asp:ServiceReference Path="~/MyWebServices/YourCoolWebService.asmx" /> 
     </Services> 
    </asp:ScriptManagerProxy> 

    <%-- more content stuff goes here --%> 
<asp:Content> 
+1

Nếu tôi chỉ sử dụng một trong các điều khiển Ajax trong trang nội dung ... tôi có cần điều khiển ScriptManagerProxy trên trang điều khiển không? –

+1

Nếu bạn chỉ muốn sử dụng điều khiển ASP.NET AJAX trên trang nội dung của bạn, thì không cần ScriptManagerProxy. – Bullines

1

jQuery vs ASP.NET AJAX là không phải là "câu hỏi hoặc câu hỏi". Mặc dù chúng có chức năng chồng chéo, chúng rất khác biệt và tôi sử dụng cả hai hàng ngày tùy thuộc vào tác vụ. Sử dụng jQuery khi có thể - nhưng MS AJAX bổ sung thêm một tấn chức năng tiện lợi ASP.NET.

+0

điều này nên được thay đổi để nhận xét về câu trả lời của Tomas Lycken – MGOwen

+0

Đối với các ứng dụng web thông thường (ASP.NET, J2EE, PHP, v.v.), tôi đã tìm thấy jQuery là một tấn trợ giúp. Tôi vừa mới bắt đầu xem xét việc sử dụng Ajax trong các phần web SharePoint của tôi, trong các trang phần web. Từ quan điểm này, đó là tốt hơn - ASP.NET AJAX hoặc jQuery? –

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