ỨNG DỤNG AJAX. <input id="xuat" size="" style="width: 184px" type="button" value="xử LÝ" onclick ="Xuly_xuat();" />

Similar documents
Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

CẤU TRÚC DỮ LIỆU NÂNG CAO

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

LÂ P TRI NH WEB ASP.NET

Tài liệu hướng dẫn: Stored Procedure

STACK và QUEUE. Lấy STACK

SIEMENS INDUSTRIAL NETWORKS

Câu 1: (2 điểm) So sách giữa 2 đối tượng Response và Request. Cho ví dụ minh hoạ.

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Cập nhật ResultSet trong JDBC

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

SIMULATE AND CONTROL ROBOT

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

BELGIUM ONLINE APPOINTMENT

Phần 1: Hướng dẫn sử dụng PictureBox tạo Slide Show

Chapter 4 Menus, Functions And Common Dialog

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Hướng dẫn cài đặt FPT

Chương 5. Network Layer 19/09/2016 1

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** ADO.NET

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

Entity Framework (EF)

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Bài 10: Cấu trúc dữ liệu

Tình huống 1: PPPoE với Username và Password

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Time Picker trong Android

Mô hình thực thi ASP.NET page Xây dựng Web Form HTML Control và Web Control Bổ sung code vào Page Page Event Life Cycle Postback event

Mô hình dữ liệu quan hệ (Relational data model)

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

PHÁT TRIỂN ỨNG DỤNG WEB

HTML DOM - Forms. MSc. nguyenhominhduc

Tạo Project với MPLAB

Nhấn nút New để tạo 1 biến mới Trang 17

TỔNG QUAN VỀ.NET VÀ C#

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

Tìm hiểu Group Policy Object và các ví dụ

JAVASCRIPT. Giảng viên : Ths. PHẠM ĐÀO MINH VŨ

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

Lecture 12. Trees (1/2) Nội dung bài học:

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

LINQ to XML. Chương 16. Lập Trình ASP.NET 4.0 & C# Bước 1: Tạo ứng dụng

GV: Phạm Đình Sắc or

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS ADO.NET

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

BẢO MẬT TRONG SQL SERVER

I. Hướng Dẫn Đăng Nhập:

Các kiểu định địa chỉ họ MSC-51

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

Hướng Dẫn Thực Hành Tập tin & Thư mục

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

B6: Time to coding. Đi tới src\at.exam tạo một class mới là CustomViewGroup với nội dung sau: Mã: package at.exam;

LINQ TO SQL & ASP.NET

Bài tập lớn số 1. Giả lập bộ định thời

LẬP TRÌNH HƯỚNG SỰ KIỆN

Bài thực hành số 2 QUYỀN và ROLE

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

Đa ngôn ngữ (Internationalization) trong Servlet

Tính kế thừa-2. Bởi: Thanh Hiền Vũ. Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Module2: Lập trình Shell và C Quản lý tiến trình A. TÓM TẮT LÝ THUYẾT:

MỤC LỤC. Giáo trình Thiết kế web Trang 1

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS)

Chủ đề 7: Triển khai và Bảo trì. COMP1026 Introduction to Software Engneering CH7-1 HIENLTH

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

NỘI DUNG ÔN TẬP MÔN HỆ CƠ SỞ DỮ LIỆU

1 Bước 1: Test thử kit LaunchPad.

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

Làm việc với Database

Transcription:

Lab04 1. Mục tiêu ỨNG DỤNG AJAX Ứng dụng Ajax vào Website ASP.Net với môi trường Microsoft Visual Studio 2010 Xây dựng ứng dụng web với đối tượng XmlHttpRequest 2. Tạo mới Website Dùng Ajax với đối tượng XmlHttpRequest dùng HTML Control Giới thiệu XmlHttpRequest là lớp thư viện của javascript XmlHttpRequest được dùng để yêu cầu (Http request) về Web Server và nhận phản hồi (Response) từ Web Server. Dữ liệu phản hồi từ Web Server là xml hoặc text <input id="xuat" size="" style="width: 184px" type="button" value="xử LÝ" onclick ="Xuly_xuat();" /> Bước 1 : Khởi tạo đối tượng XmlHttpRequest (Xử lý ở clienr): Button XỬ LÝ gọi hàm Xuly_xuat <script language ="javascript" type ="text/javascript" > //Biến toàn cục dùng để tham chiếu đến đối tượng XmlHttpRequest var xmlhttp = null; //Phương thức tạo đối tượng XmlHttpRequest function createxmlhttpreques() var kq; kq = new XMLHttpRequest(); catch(e) //IE6 hoặc cũ hơn kq = new ActiveXObject("Microsoft.XMLHttp"); Bước 2 : Gán giá trị cho đối tượng XmlHttpRequest và gửi về Web Server: Có 2 phương thức để gửi yêu cầu: GET và POST Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 1/8

//Gửi bằng phương thức POST var request = "XuatLoiChao.aspx"; xmlhttp.open("post", request, true); //Tham chiếu đến hàm xử lý kết quả trả về xmlhttp.onreadystatechange = HienThiLoiChao; //Gửi bằng phương thức POST phải gán Header cho Request xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded"); //Gửi yêu cầu về Server xmlhttp.send("hoten=" + hoten); Bước 3 : Nhận phản hồi từ Web Server và xử lý kết quả nhận được: Có 2 phương thức để gửi yêu cầu: GET và POST function HienThiLoiChao() if (xmlhttp.readystate == 4) if (xmlhttp.status == 200) //nhận kết quả trả về </script> var loi_chao = xmlhttp.responsetext; //Truy xuất đến vùng để hiển thị lời chào var divloichao = document.getelementbyid("divloichao"); //Hiển thị divloichao.innerhtml = loi_chao; Bước 4 : Viết xử lý ở Web Server protected void Page_Load(object sender, EventArgs e) //Lấy họ tên mà Client gửi tới string hoten = Request["hoten"]; //Tạo lời chào string loi_chao = string.format("chào bạn 0!", hoten); //Gửi lời chào về Client Response.Write(loi_chao); //Kết thúc việc gửi dữ liệu về Client //Nếu không có dòng này thì nó sẽ gửi luôn phần html trong trang aspx Response.End(); Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 2/8

3. Tạo mới Website Dùng Ajax với đối tượng XmlHttpRequest sử dụng Server Control Sự kiện OnClientClick gọi hàm Xuly_tinh() <asp:button ID="Tinh" runat="server" Text="=" Width="48px" OnClientClick ="return Xuly_tinh();" OnClick="Tinh_Click" Font-Size="14pt" /> <script language ="javascript" type ="text/javascript" > //1. Khai bao bien toan cuc, dung de tham chieu den dt XmlHttpRequest var xmlhttp = null; var txtso1, txtso2, txtkq, toantu; //tham chieu den cac Sever Control function window_load() txtso1 = document.getelementbyid("<%= So1.ClientID %>"); txtso2 = document.getelementbyid("<%= So2.ClientID %>"); txtkq = document.getelementbyid("<%= Ket_qua.ClientID %>"); toantu = document.getelementbyid("<%= Toan_tu.ClientID %>"); //2. Tao doi tuong XmlHttpRequest function createxmlhttprequest() var xmlrequest=null, e; xmlrequest = new XMLHttpRequest(); catch(e) xmlrequest = new ActiveXObject("Microsoft.XMLHttp"); catch(e) //Neu khong tao duoc doi tuong XmlHttpRequest if (xmlrequest==null) alert("khong tao duoc doi tuong Request"); return xmlrequest; //3. Viet xu ly tinh toan function Xuly_tinh() //Lay gia tri 2 so va phep tinh var so1 = txtso1.value; var so2 = txtso2.value; var pheptinh = toantu.value; //Tao doi tuong XmlHttpRequest de goi yeu cau va nhan ket qua xmlhttp = createxmlhttprequest(); if (xmlhttp!=null) Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 3/8

//Dung XmlHttpRequest de goi yeu cau ve Server, goi bang phuong thuc GET xmlhttp.open("get","bai_02.aspx?so1="+so1+"&so2="+so2+"&pt="+pheptinh, true); //Tham chieu ham xu ly ket qua tra ve xmlhttp.onreadystatechange = HienThiKetqua; //Goi yeu cau ve server xmlhttp.send(null); return false; //4. Viet xu ly ham duoc tham chieu function HienThiKetqua() if (xmlhttp.readystate ==4) if (xmlhttp.status==200) //nhan ket qua tra ve var chuoi = xmlhttp.responsetext; //Hien thi ra ma ra man hinh txtkq.value = chuoi; </script> Xử lý ở Webserver protected void Page_Load(object sender, EventArgs e) //5. Viet xu ly o Server //Lay gia tri do Client goi den if (!string.isnullorempty(request["so1"])) double so1 = double.parse(request["so1"]); double so2 = double.parse(request["so2"]); string pheptinh = Request["pt"]; //kiem tra double ketqua = ThucHienPhepTinh(so1, so2, pheptinh); //Goi loi chao ve client Response.Write(ketqua); //Ket thuc viec goi du lieu ve Client //Neu khong co dong nay, no se goi luon phan Html trong trang aspx Response.End(); private double ThucHienPhepTinh(double so1, double so2, string phep_tinh) double kq = 0; switch (phep_tinh) case "cong": kq = so1 + so2; break; case "tru": kq = so1 - so2; break; case "nhan": kq = so1 * so2; break; case "chia": if (so2 == 0) kq = 0; else kq = so1 / so2; break; return kq; Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 4/8

4. Tạo mới Website Dùng Ajax với đối tượng XmlHttpRequest trả về Client dưới dạng XML Sự kiện OnClientClick gọi hàm Xuly_Xuat() <asp:button ID="Xuat" runat="server" Text="Load Danh sách môn học" Width="216px" OnClientClick ="return Xuly_xuat();" /> <script language ="javascript" type ="text/javascript" > //1. Khai bao bien toan cuc, dung de tham chieu den dt XmlHttpRequest var xmlhttp = null; var dsmh; //2. Tao doi tuong XmlHttpRequest function createxmlhttprequest() var xmlrequest=null, e; xmlrequest = new XMLHttpRequest(); catch(e) xmlrequest = new ActiveXObject("Microsoft.XMLHttp"); catch(e) //Neu khong tao duoc doi tuong XmlHttpRequest if (xmlrequest==null) alert("khong tao duoc doi tuong Request"); return xmlrequest; //3. Viet xu ly tinh toan function Xuly_xuat() //Tao doi tuong XmlHttpRequest de goi yeu cau va nhan ket qua xmlhttp = createxmlhttprequest(); if (xmlhttp!=null) //Dung XmlHttpRequest de goi yeu cau ve Server, goi bang phuong thuc GET xmlhttp.open("get","bai_03.aspx?dulieu=dsmonhoc", true); //Tham chieu ham xu ly ket qua tra ve xmlhttp.onreadystatechange = HienThiDanhsach; //Goi yeu cau ve server xmlhttp.send(null); return false; //4. Viet xu ly ham duoc tham chieu function HienThiDanhsach() if (xmlhttp.readystate ==4) Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 5/8

</script> if (xmlhttp.status==200) //nhan ket qua tra ve var xmldoc = xmlhttp.responsexml; //luu tru tai lieu XML //Hien thi ra man hinh var cacnut_monhoc = xmldoc.getelementsbytagname("monhoc"); var option,i; dsmh.length = 0; //xoa danh sach truoc do for (i=0; i< cacnut_monhoc.length; i++) option = document.createelement("option"); option.text = cacnut_monhoc[i].firstchild.nodevalue; dsmh.add(option); Xử lý ở Webserver protected void Page_Load(object sender, EventArgs e) //5. Viet xu ly o Server //Lay gia tri do Client goi den if (!string.isnullorempty(request["dulieu"])) //Tao chuoi XML de tra tra ket qua ve client Danh sach mon hoc string[] arrmonhoc = "ASP.Net", "PHP", "Joomla", "CSharp", "ADO.Net" ; StringBuilder stb = new StringBuilder(); stb.append("<monhocs>"); foreach (string mh in arrmonhoc) stb.appendformat("<monhoc>0</monhoc>",mh); stb.append("</monhocs>"); Response.ContentType = "text/xml"; //bat buoc phai khai bao neu tra ket qua duoi dang XML //Goi ket qua ve client Response.Write(stb); Response.End(); 5. Tạo mới Website Dùng Ajax với đối tượng XmlHttpRequest kết nối CSDL trả về Client dưới dạng XML Cho CSDL QLBansach có Table Chu đề có dữ liệu như sau: Chuỗi kết nối CSDL trong Webconfig <connectionstrings> Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 6/8

<add name="strconnectionstring" connectionstring="data Source=ITQUANGNAM;Initial Catalog=QLBANSACH;Integrated Security=True" providername="system.data.sqlclient" /> </connectionstrings > Sự kiện OnClientClick gọi hàm Xuly_Xuat() <asp:button ID="Xuat" runat="server" OnClientClick="return Xuly_xuat();" Text="Xuất DS chủ đề" Width="216px" Font-Bold="True" Font-Size="12pt" /> <script language ="javascript" type ="text/javascript" > //1. Khai bao bien toan cuc, dung de tham chieu den dt XmlHttpRequest var xmlhttp = null; var dscd; //2. Tao doi tuong XmlHttpRequest function createxmlhttprequest() var xmlrequest=null, e; xmlrequest = new XMLHttpRequest(); catch(e) xmlrequest = new ActiveXObject("Microsoft.XMLHttp"); catch(e) //Neu khong tao duoc doi tuong XmlHttpRequest if (xmlrequest==null) alert("khong tao duoc doi tuong Request"); return xmlrequest; //3. Viet xu ly tinh toan function Xuly_xuat() //Tao doi tuong XmlHttpRequest de goi yeu cau va nhan ket qua xmlhttp = createxmlhttprequest(); if (xmlhttp!=null) //Dung XmlHttpRequest de goi yeu cau ve Server, goi bang phuong thuc GET xmlhttp.open("get","bai_04.aspx?dulieu=dschude", true); //Tham chieu ham xu ly ket qua tra ve xmlhttp.onreadystatechange = HienThiDanhsach; //Goi yeu cau ve server xmlhttp.send(null); return false; //4. Viet xu ly ham duoc tham chieu function HienThiDanhsach() if (xmlhttp.readystate ==4) if (xmlhttp.status==200) //nhan ket qua tra ve var xmldoc = xmlhttp.responsexml; //luu tru tai lieu XML //Hien thi ra man hinh var cacnut_chude = xmldoc.getelementsbytagname("chude"); var option,i; dscd.length=0; //xoa di danh sach truoc do for (i=0; i< cacnut_chude.length; i++) Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 7/8

</script> option = document.createelement("option"); option.text = cacnut_chude[i].firstchild.nodevalue; dscd.add(option); Xử lý ở Webserver protected void Page_Load(object sender, EventArgs e) //5. Viet xu ly o Server //Lay gia tri do Client goi den if (!string.isnullorempty(request["dulieu"])) //Tao chuoi XML de tra tra ket qua ve client Danh sach mon hoc using (SqlConnection Con = new SqlConnection(ConfigurationManager. ConnectionStrings["strConnectionString"].ConnectionString )) SqlDataAdapter da = new SqlDataAdapter("Select * from Chude", Con); DataSet ds = new DataSet(); da.fill(ds, "ChuDe"); StringBuilder stb = new StringBuilder(); stb.append("<chudes>"); for (int i = 0; i < ds.tables[0].rows.count ; i++) stb.appendformat("<chude>0</chude>", ds.tables[0].rows[i]["tenchude"].tostring()); stb.append("</chudes>"); Response.ContentType = "text/xml"; //bat buoc phai khai bao neu tra ket qua duoi dang XML //Goi ket qua ve client Response.Write(stb); Response.End(); *********Hết********* Giảng viên Dương Thành Phết - http://www.thayphet.net Trang 8/8