SlideShare a Scribd company logo
AJAX Control
  Toolkit
  Hoàng Anh Tú
Nội dung



            Introduction to AJAX
   AJAX
  Control    AJAX & ASP.NET
  Toolkit
            AJAX Control Toolkit
Ứng dụng AJAX
£  Xây dựng các ứng dụng web tương tác với
 người dùng
Kiến trúc Client – Server
                        Gửi request đến
                             server                        Xử lý
                                                          request



   Xóa dữ liệu                   HTTP Request
 trên màn hình

Nạp nội dung mới                 HTTP Response
  lên màn hình       Client                      Server


        Vẽ lại                   Phản hồi
  toàn bộ màn hình              request từ
                                  client
AJAX
                   Gửi request
                      bằng
                    Javascript




       Chỉ nạp dữ liệu
          cần thiết
                                 Trao đổi dữ
                                  liệu bằng
                                     XML
AJAX – Hạn chế
£  Tăng thời gian phản hồi từ server
£  Khó xác định địa chỉ nội dung trang web
    •  Khó trở về trang trước đó
    •  Không thể lưu URL nội dung trang web
£  Không thể tìm thấy bằng các search engine
£  Tạo nên các lỗ hổng bảo mật
AJAX & Javascript
                 Tạo đối tượng request

if (window.XMLHttpRequest)
{
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
} else {
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
AJAX & Javascript
                  Gửi dữ liệu đồng bộ

xmlhttp.open("GET",”http://localhost/ajax.aspx",false);
xmlhttp.send();


document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
AJAX & Javascript
                  Gửi request bất đồng bộ

xmlhttp.onreadystatechange=function()
{
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
        // handle response data
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}


xmlhttp.open("GET",“http://localhost/ajax.aspx",true);
xmlhttp.send();
AJAX & Javascript
                  Xử lý dữ liệu trả về


document.getElementById("myDiv").innerHTML=xmlhttp.responseText




xmlDoc=xmlhttp.responseXML;
var txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
 {
 txt=txt + x[i].childNodes[0].nodeValue + "<br />";
 }
document.getElementById("myDiv").innerHTML=txt;
AJAX & ASP.NET
AJAX & ASP.NET
       ASP.NET Libraries

        - Không cần sử dụng Javascript
        - Chỉ áp dụng được cho 1 số tình huống cụ thể qua các control
        - Giảm thời gian cài đặt




      Javascript Libraries

        - Sử dụng toàn bộ mã nguồn javascript
        - Linh động trong cài đặt
        - Thời gian cài đặt nhanh
ASP.NET AJAX


       Client-side              Server-side
  •  Thư viện javascript   •  Server control
                           •  Sử dụng thư viện
                              javascript ở client-
                              side
ASP.NET AJAX Client-side


       Client-side       Core Libraries
                         - MicrosoftAjax.js
•  Thư viện javascript   - MicrosoftAjaxWebForms.js
                         - MicrosoftAjaxTimer.js


                         Hơn 100 thư viện nhỏ
                         - Lưu thông tin globalization
         Lưu trong
    System.Web.Extens
          ions.dll
ASP.NET AJAX Server-side



       Server-side                          ScriptManager


•  Server control
•  Sử dụng thư viện
   javascript ở client-side

                              Tạo các liên kết
                                đến các thư
                               viện javascript
                                  cần thiết
UpdatePanel
                               Chia trang web
Partial Rendering
                            thành nhiều phần nhỏ




                           Request trong từng phần
                           chỉ làm refresh phần đó




                              Mỗi phần đặt trong
                              một UpdatePanel

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  </asp:UpdatePanel>
UpdatePanel - Example
UpdatePanel - Example
                           Update phần trên




        Update cả 2 phần
UpdatePanel – Example Code
                     <asp:ScriptManager ID="ScriptManager1" runat="server" />


                     <asp:UpdatePanel runat="server" ID="UpdatePanel“ UpdateMode="Conditional">
                       <Triggers>
                          <asp:AsyncPostBackTrigger ControlID="UpdateButton2" EventName="Click" />
                       </Triggers>
                       <ContentTemplate>
  Client-side code        <asp:Label runat="server" ID="DateTimeLabel1" />
                          <asp:Button runat="server" ID="UpdateButton1" OnClick="UpdateButton_Click"
                               Text="Update" />
                       </ContentTemplate>
                     </asp:UpdatePanel>


                     <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
                       <ContentTemplate>
                          <asp:Label runat="server" ID="DateTimeLabel2" />
                          <asp:Button runat="server" ID="UpdateButton2" OnClick="UpdateButton_Click"
                                 Text="Update" />
                       </ContentTemplate>
                     </asp:UpdatePanel>



                     protected void UpdateButton_Click(object sender, EventArgs e)
                     {
Server-side code         DateTimeLabel1.Text = DateTime.Now.ToString();
                         DateTimeLabel2.Text = DateTime.Now.ToString();
                     }
UpdatePanel – Example Demo
AJAX CONTROL TOOLKIT
AJAX Control Toolkit
                             http://www.asp.net/ajax/ajaxcontroltoolkit/samples/


  ASP.NET AJAX



                    extend
  ASP.NET AJAX
  Control Toolkit
Get started



         Install
Hello AJAX Control Toolkit
      <asp:ScriptManager ID=“sm" runat="server" /
      >
      <cc1:Editor ID="Editor1" runat="server" />
Calendar Control
<asp:toolkitscriptmanager ID="ScriptManager1" runat="server"></asp:toolkitscriptmanager>

<asp:TextBox ID="txtDate" runat="server"></asp:TextBox>

<asp:CalendarExtender ID="ceDate" runat="server“ TargetControlID="txtDate“> </
asp:CalendarExtender>
Calendar Control
Ajax control toolkit

More Related Content

PPT
Ung dung web chuong 5
PPT
Ung dun web chuong 2
PPTX
Lập trình web với các công nghệ phổ biến
DOCX
Ajax report
PDF
Giáo trình asp.net với c sharp
PPTX
Apache http server 2
PDF
Bai 09 Basic jsp
PPTX
Go micro framework to build microservices
Ung dung web chuong 5
Ung dun web chuong 2
Lập trình web với các công nghệ phổ biến
Ajax report
Giáo trình asp.net với c sharp
Apache http server 2
Bai 09 Basic jsp
Go micro framework to build microservices

Similar to Ajax control toolkit (20)

PPT
Giới thiệu và sử dụng aja xr40
PDF
Bài giảng asp.net
DOCX
Ajax Control ToolKit
PDF
Hướng dẫn lập trình web với PHP - Ngày 1
PDF
Bai giang asp.net full
PDF
Bai giang asp.net full
PDF
Bai giang asp.net full
PDF
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
PDF
Tai lieu-huong dan ajax
PDF
Tai lieu-huong dan ajax
PDF
Net06 asp.net applications & state management
PDF
PPT
chuong_02.ppt
PDF
Asp control
PDF
Web course php ajax
PDF
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
PPT
Asp
PPT
Lap trinh asp.net
PDF
Lap trinh website dotnet c#
PDF
Lap trinh website dotnet c#
Giới thiệu và sử dụng aja xr40
Bài giảng asp.net
Ajax Control ToolKit
Hướng dẫn lập trình web với PHP - Ngày 1
Bai giang asp.net full
Bai giang asp.net full
Bai giang asp.net full
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Tai lieu-huong dan ajax
Tai lieu-huong dan ajax
Net06 asp.net applications & state management
chuong_02.ppt
Asp control
Web course php ajax
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Asp
Lap trinh asp.net
Lap trinh website dotnet c#
Lap trinh website dotnet c#
Ad

Ajax control toolkit

  • 1. AJAX Control Toolkit Hoàng Anh Tú
  • 2. Nội dung Introduction to AJAX AJAX Control AJAX & ASP.NET Toolkit AJAX Control Toolkit
  • 3. Ứng dụng AJAX £  Xây dựng các ứng dụng web tương tác với người dùng
  • 4. Kiến trúc Client – Server Gửi request đến server Xử lý request Xóa dữ liệu HTTP Request trên màn hình Nạp nội dung mới HTTP Response lên màn hình Client Server Vẽ lại Phản hồi toàn bộ màn hình request từ client
  • 5. AJAX Gửi request bằng Javascript Chỉ nạp dữ liệu cần thiết Trao đổi dữ liệu bằng XML
  • 6. AJAX – Hạn chế £  Tăng thời gian phản hồi từ server £  Khó xác định địa chỉ nội dung trang web •  Khó trở về trang trước đó •  Không thể lưu URL nội dung trang web £  Không thể tìm thấy bằng các search engine £  Tạo nên các lỗ hổng bảo mật
  • 7. AJAX & Javascript Tạo đối tượng request if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
  • 8. AJAX & Javascript Gửi dữ liệu đồng bộ xmlhttp.open("GET",”http://localhost/ajax.aspx",false); xmlhttp.send(); document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  • 9. AJAX & Javascript Gửi request bất đồng bộ xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { // handle response data document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET",“http://localhost/ajax.aspx",true); xmlhttp.send();
  • 10. AJAX & Javascript Xử lý dữ liệu trả về document.getElementById("myDiv").innerHTML=xmlhttp.responseText xmlDoc=xmlhttp.responseXML; var txt=""; x=xmlDoc.getElementsByTagName("ARTIST"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt;
  • 12. AJAX & ASP.NET ASP.NET Libraries - Không cần sử dụng Javascript - Chỉ áp dụng được cho 1 số tình huống cụ thể qua các control - Giảm thời gian cài đặt Javascript Libraries - Sử dụng toàn bộ mã nguồn javascript - Linh động trong cài đặt - Thời gian cài đặt nhanh
  • 13. ASP.NET AJAX Client-side Server-side •  Thư viện javascript •  Server control •  Sử dụng thư viện javascript ở client- side
  • 14. ASP.NET AJAX Client-side Client-side Core Libraries - MicrosoftAjax.js •  Thư viện javascript - MicrosoftAjaxWebForms.js - MicrosoftAjaxTimer.js Hơn 100 thư viện nhỏ - Lưu thông tin globalization Lưu trong System.Web.Extens ions.dll
  • 15. ASP.NET AJAX Server-side Server-side ScriptManager •  Server control •  Sử dụng thư viện javascript ở client-side Tạo các liên kết đến các thư viện javascript cần thiết
  • 16. UpdatePanel Chia trang web Partial Rendering thành nhiều phần nhỏ Request trong từng phần chỉ làm refresh phần đó Mỗi phần đặt trong một UpdatePanel <asp:UpdatePanel ID="UpdatePanel1" runat="server"> </asp:UpdatePanel>
  • 18. UpdatePanel - Example Update phần trên Update cả 2 phần
  • 19. UpdatePanel – Example Code <asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:UpdatePanel runat="server" ID="UpdatePanel“ UpdateMode="Conditional"> <Triggers> <asp:AsyncPostBackTrigger ControlID="UpdateButton2" EventName="Click" /> </Triggers> <ContentTemplate> Client-side code <asp:Label runat="server" ID="DateTimeLabel1" /> <asp:Button runat="server" ID="UpdateButton1" OnClick="UpdateButton_Click" Text="Update" /> </ContentTemplate> </asp:UpdatePanel> <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional"> <ContentTemplate> <asp:Label runat="server" ID="DateTimeLabel2" /> <asp:Button runat="server" ID="UpdateButton2" OnClick="UpdateButton_Click" Text="Update" /> </ContentTemplate> </asp:UpdatePanel> protected void UpdateButton_Click(object sender, EventArgs e) { Server-side code DateTimeLabel1.Text = DateTime.Now.ToString(); DateTimeLabel2.Text = DateTime.Now.ToString(); }
  • 22. AJAX Control Toolkit http://www.asp.net/ajax/ajaxcontroltoolkit/samples/ ASP.NET AJAX extend ASP.NET AJAX Control Toolkit
  • 23. Get started Install
  • 24. Hello AJAX Control Toolkit <asp:ScriptManager ID=“sm" runat="server" / > <cc1:Editor ID="Editor1" runat="server" />
  • 25. Calendar Control <asp:toolkitscriptmanager ID="ScriptManager1" runat="server"></asp:toolkitscriptmanager> <asp:TextBox ID="txtDate" runat="server"></asp:TextBox> <asp:CalendarExtender ID="ceDate" runat="server“ TargetControlID="txtDate“> </ asp:CalendarExtender>