1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình lập trình web với asp net (nghề công nghệ thông tin trình độ cao đẳng)

161 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 161
Dung lượng 5,41 MB

Nội dung

\ TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP.HCM GIÁO TRÌNH LẬP TRÌNH WEB VỚI ASP.NET Nghề: Cơng nghệ thơng tin Trình độ: Cao đẳng Ban hành kèm theo Quyết định số: /QĐ- ngày ………tháng năm…… Trường Cao đẳng Kinh tế - Kỹ Thuật Vinatex TP HCM TP HỒ CHÍ MINH, NĂM 2018 LƯU HÀNH NỘI BỘ \ TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP.HCM GIÁO TRÌNH LẬP TRÌNH WEB VỚI ASP.NET Nghề: Cơng nghệ thơng tin Trình độ: Cao đẳng Ban hành kèm theo Quyết định số: /QĐ- ngày ………tháng năm…… Trường Cao đẳng Kinh tế - Kỹ Thuật Vinatex TP HCM TP HỒ CHÍ MINH, NĂM 2018 LƯU HÀNH NỘI BỘ CHƯƠNG TRÌNH MƠN HỌC Tên mơn học: Lập trình web với Asp.net Mã mơn học: MH 23 Thời gian thực môn học:75 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo luận, tập: 55 giờ; Kiểm tra: giờ) I Vị trí, tính chất mơn học: - Vị trí: học sau mơn Lập trình Web, Ngơn ngữ C# - Tính chất: mơn học chun mơn bắt buộc chương trình đào tạo II Mục tiêu môn học: - Về kiến thức: + Những ứng dụng Web với ASP.Net sử dụng ngơn ngữ lập trình C# kết nối với hệ quản trị sở liệu SQL Server môi trường phát triển tích hợp Visual Studio + Cách cài đặt cấu hình Web server, đề cập đến tính điểm mạnh ASP.Net + Những khái niệm Web server hỗ trợ ASP.Net - Về kỹ năng: + Cài đặt cấu hình Web server + Thiết kế, xây dựng, phát triển ứng dụng web với ASP.Net - Về lực tự chủ trách nhiệm: + Người học có thái độ đắn ttrong việc học tập, hồn thành tập + Chun cần, ln có tính tỉ mỉ, xác III Nội dung mơn học: Bài 1: TỔNG QUAN VỀ ASP.NET Bài TỔNG QUAN VỀ ASP.NET Mục tiêu: - Trình bày khái niệm HTTP HTML - Trình bày mơ hình ứng dụng Nội dung chương: I Tổng quan lập trình ứng dụng Web Ứng dụng Web hệ thống phức tạp, dựa nhiều yếu tố: phần cứng, phần mềm, giao thức, ngôn ngữ thành phần giao diện Trong phần này, giới thiệu sơ lược cho bạn thành phần ứng dụng Web: HTTP (giao thức trao đổi tài nguyên) HTML (ngôn ngữ xây dựng trang web) I.1 HTTP HTML - Nền móng Kỹ thuật lập trình web I.1.1 HTTP (Hypertext Transfer Protocol) Kỹ thuật lập trình ứng dụng web khởi đầu HyperText Transfer Protocol (HTTP), giao thức cho phép máy tính trao đổi thơng tin với qua mạng máy tính HTTP xác định qua URLs (Uniform Resource Locators), với cấu trúc chuỗi có định dạng sau: http: // [: ] [ [? ]] Sau tiền tố http://, chuỗi URL chứa tên host hay địa IP máy server (có thể có số cổng kèm), đường dẫn dẫn đến tập tin server yêu cầu Tùy chọn sau tham số, gọi query string (chuỗi tham số/chuỗi truy vấn) Ví dụ: Phân tích địa http://www.comersus.com/comersus6/store/index.asp Trang web index.asp lưu trữ thư mục /comersus6/store Web Server với host www.comersus.com Một số thuật ngữ: • Internet: hệ thống gồm nhiều máy tính khắp nơi giới nối lại với • WWW: World Wide Web (mạng toàn cầu), thường dùng nói Internet • Web Server: Máy tính lưu trữ trang web • Web Client: Máy tính dùng để truy cập trang web Bài 1: TỔNG QUAN VỀ ASP.NET • Web Browser: Phần mềm dùng để truy cập web Một số web browser phổ biến: Internet Explorer, Netscape Navigator, Avant Browser, Opera, … I.1.2 HTML (Hypertext Markup Language) Trang web HTML tập tin văn viết ngơn ngữ HTML, ngơn ngữ cịn biết đến với tên gọi: ngôn ngữ đánh dấu văn Ngôn ngữ đánh dấu HTML sử dụng ký hiệu quy định sẵn (được gọi tag) để trình bày nội dung văn Kết hiển thị Định dạng Nội dung Trang chủ Windows Server System Microsoft ……… Ví dụ: Nội dung trang web AspDotNet.htm ASP.Net

Chào bạn đến với ASP.Net!!!

Bài 1: TỔNG QUAN VỀ ASP.NET Bài 1: TỔNG QUAN VỀ ASP.NET I.2 Tìm hiểu mơ hình ứng dụng I.2.1 Mơ hình ứng dụng lớp Yêu cầu Trả lời Client Database Server Đây dạng mơ hình đơn giản, phổ biến ứng dụng phân tán Trong mơ hình này, việc xử lý liệu thực Database Server, việc nhận hiển thị liệu thực Client a Ưu điểm Dữ liệu tập trung => đảm bảo liệu quán Dữ liệu chia sẻ cho nhiều người dùng b Khuyết điểm Các xử lý tra cứu cập nhật liệu thực Database Server, việc nhận kết hiển thị phải thực Client => Khó khăn vấn đề bảo trì nâng cấp Khối lượng liệu truyền mạng lớn => chiếm dụng đường truyền, thêm gánh nặng cho Database Server I.2.2 Mơ hình ứng dụng lớp Mơ hình lớp phần đáp ứng yêu cầu khắc khe ứng dụng phân tán, nhiên, khối lượng liệu lớn, ứng dụng đòi hỏi nhiều xử lý phức tạp, số người dùng tăng, mơ hình lớp khơng thể đáp ứng Mơ hình lớp sử dụng thêm Application Server giữ nhiệm vụ tương tác Client Database server, giảm bớt xử lý Database server, tập trung xử lý nhận hiển thị liệu Application server Bài 1: TỔNG QUAN VỀ ASP.NET Client Server Appication Server Database a Ưu điểm Hỗ trợ nhiều người dùng Giảm bớt xử lý cho Client = > Không yêu cầu máy tính Client có cấu hình mạnh Xử lý nhận hiển thị liệu tập trung Application Server => dễ quản lý, bảo trì nâng cấp Xử lý truy cập liệu tập trung Database Server b Khuyết điểm Phải sử dụng thêm Application Server => Tăng chi phí II Giới thiệu ASP.Net: II Tìm hiểu Net Phatform: Net Phatform bao gồm Net Framework công cụ dùng để xây dựng, phát triển ứng dụng dịch vụ ASP.Net Bài 1: TỔNG QUAN VỀ ASP.NET Net Platform Những sản phẩm công nghệ Net Microsoft bao gồm: MSN.Net, Office.Net, Visual Studio.Net Windows Server 2003 biết đến với tên gọi Windows Net Server II.2 Tìm hiểu Net Framework: Kiến trúc Net Framework II.2.1 Hệ điều hành Cung cấp chức xây dựng ứng dụng Bài 1: TỔNG QUAN VỀ ASP.NET Với vai trò quản lý việc xây dựng thi hành ứng dụng, NET Framework cung cấp lớp đối tượng (Class) để bạn gọi thi hành chức mà đối tượng cung cấp Tuy nhiên, lời kêu gọi bạn có "hưởng ứng" hay khơng cịn tùy thuộc vào khả hệ điều hành chạy ứng dụng bạn Các chức đơn giản hiển thị hộp thông báo (Messagebox) NET Framework sử dụng hàm API Windows Chức phức tạp sử dụng COMponent yêu cầu Windows phải cài đặt Microsoft Transaction Server (MTS) hay chức Web cần Windows phải cài đặt Internet Information Server (IIS) Như vậy, bạn cần biết lựa chọn hệ điều hành để cài đặt sử dụng NET Framework không phần quan trọng Cài đặt NET Framework hệ điều hành Windows 2000, 2000 Server, XP, XP.NET, 2003 Server đơn giản tiện dụng lập trình II.2.2 Common Language Runtime Là thành phần "kết nối" phần khác NET Framework với hệ điều hành Common Language Runtime (CLR) giữ vai trò quản lý việc thi hành ứng dụng viết NET Windows CLR thơng dịch lời gọi từ chương trình cho Windows thi hành, đảm bảo ứng dụng không chiếm dụng sử dụng tràn lan tài nguyên hệ thống Nó không cho phép lệnh "nguy hiểm" thi hành Các chức thực thi thành phần bên CLR Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine,… Trong phiên hệ điều hành Windows XP.NET Windows 2003, CLR gắn kèm với hệ điều hành Điều đảm bảo ứng dụng viết máy tính chạy máy tính khác mà khơng cần cài đặt, bước thực đơn giản lệnh xcopy DOS! II.2.3 Bộ thư viện lớp đối tượng Nếu phải giải nghĩa từ "Framework" thuật ngữ NET Framework lúc thích hợp Framework tập hợp hay thư viện lớp đối tượng hỗ trợ người lập trình xây dựng ứng dụng Có thể số người nghe qua MFC JFC Microsoft Foundation Class thư viện mà lập trình viên Visual C++ sử dụng Java Foundation Class thư viện dành cho lập trình viên Java Giờ đây, coi NET Framework thư viện dành cho lập trình viên NET Với 5000 lớp đối tượng để gọi thực đủ loại dịch vụ từ hệ điều hành, bắt đầu xây dựng ứng dụng Notepad.exe!!!… Nhiều người lầm tưởng môi trường phát triển phần mềm Visual Studio 98 hay Visual Studio.NET tất cần để viết chương trình Thực ra, chúng phần mềm dùng làm "vỏ bọc" bên Với chúng, viết 144 Bài WEB SERVICE WSDL Wes Service WS_PHEP_TOAN III.1 Sử dụng Web Service người dùng xây dựng Sử dụng Web Service xây dựng tương tự việc sử dụng lớp đối tượng Ví dụ: Dim phep_toan As New WS_PHEP_TOAN lblKet_qua.Text = phep_toan.Cong_hai_so(4, 6) III.2 Sử dụng Web Services cung cấp miễn phí mạng Để biết Web Services cung cấp miễn phí mạng, bạn dùng google để thực tìm kiếm Ở đây, giới thiệu đến bạn trang: http://www.webservicex.net cung cấp nhiều Web Services hữu ích Trong phần này, hướng dẫn bạn sử dụng Web Services để lấy thông tin tỷ giá ngoại tệ, thơng tin thời tiết, thành phố quốc 145 Bài WEB SERVICE gia đơn vị tiền tệ quốc gia giới Các bước thực hiện: Bước Chọn Add Web Reference… từ thực đơn ngữ cảnh ứng dụng Thêm WebService vào ứng dụng Bước Nhập thông tin đường dẫn WebService, nhấn xác thực Web Service để thực việc Bước Nếu Web Service xác thực thành công, thông tin mô tả Web Service hiển thị phía bên Trong ví dụ này, xác thực Web Service sau: http://www.webservicex.net/country.asmx?WSDL =>Các quốc gia http://www.webservicex.net/globalweather.asmx?WSDL =>Thời tiết http://www.webservicex.net/CurrencyConvertor.asmx?WSDL =>Tỷ giá Tham chiếu Web Service Bước Đặt tên tham chiếu cho WebService: Web reference name 146 Bài WEB SERVICE Bước Nhấn Add Reference để hoàn tất tham chiếu WebService Bảng mô tả phương thức tài liệu hướng dẫn WebService Danh sách Web Service tham chiếu Bước Thiết kế hình Màn hình thiết kế Viết lệnh xử lý: 'Lấy tỉ giá ngoại tệ Dim tgNgoai_te As New Ws_Ty_gia.CurrencyConvertor lblUSD.Text = tgNgoai_te.ConversionRate( _ Ws_Ty_gia.Currency.USD, Ws_Ty_gia.Currency.VND) lblEUR.Text = tgNgoai_te.ConversionRate( _ Ws_Ty_gia.Currency.EUR, Ws_Ty_gia.Currency.VND) 147 Bài WEB SERVICE lblGBP.Text = tgNgoai_te.ConversionRate( _ Ws_Ty_gia.Currency.GBP, Ws_Ty_gia.Currency.VND) 'Lấy thông tin thời tiết thành phố Dim lWeather As New Ws_Thoi_tiet.GlobalWeather lblHN.Text = lWeather.GetWeather("Ha Noi", "Viet Nam") lblHCM.Text = lWeather.GetWeather("Ho Chi Minh", "Viet Nam") lblThanh_pho.Text = lWeather.GetCitiesByCountry("Viet Nam") 'Lấy tên quốc gia đơn vị tiền tệ giới Dim lCountry As New Ws_Quoc_gia.country lblDon_vi.Text = lCountry.GetCurrencyCode() lblQuoc_gia.Text = lCountry.GetCountries() Tỷ giá ngoại tệ thông tin thời tiết lấy từ WebService vào lúc: 9:30:00 AM ngày 13/06/2005 (giờ Việt nam) Lúc bạn thi hành, giá trị thay đổi Màn hình kết 148 Bài WEB SERVICE IV Xây dựng Web Services truy xuất liệu IV.1 Web Service: WS_KHACH_HANG Trong phần này, phối hợp lớp xử lý có để xây dựng Web service WS_KHACH_HANG Trong ví dụ minh họa đây, xây dựng ba thủ tục: ƒ Doc_danh_sach_khach_hang ƒ Them_khach_hang ƒ Xoa_khach_hang _ Public Function Doc_danh_sach_khach_hang() As DataSet Dim lKhach_hang As New XL_KHACH_HANG Dim lDataset As New DataSet lDataset.Tables.Add(lKhach_hang) Return lDataset End Function _ Public Function Them_khach_hang(ByVal pHo_kh As String, _ ByVal pTen_kh As String, _ ByVal pNgay_sinh As Date, _ ByVal pGioi_tinh As Boolean, _ ByVal pDia_chi As String, _ ByVal pTen_dn As String, _ ByVal pMat_khau As String) As Boolean Try Dim lKhach_hang As New XL_KHACH_HANG Dim lDr As DataRow lDr = lKhach_hang.NewRow() lDr("Ho_khach_hang") = pHo_kh lDr("Ten_khach_hang") = pTen_kh lDr("Ngay_sinh") = pNgay_sinh lDr("Gioi_tinh") = pGioi_tinh) lDr("Dia_chi") = pDia_chi lDr("Ten_dang_nhap") = pTen_dn lDr("Mat_khau") = pMat_khau lKhach_hang.Rows.Add(lDr) lKhach_hang.Ghi_du_lieu() Return True 149 Bài WEB SERVICE Catch ex As Exception Return False End Try End Function _ Public Function Xoa_khach_hang(ByVal pMkh As Long) Dim lKhach_hang As New XL_KHACH_HANG lKhach_hang.Xoa_dong(pMkh) End Function Trong Web service trên, có sử dụng số phương thức từ lớp XL_KHACH_HANG Để sử dụng, cần bổ sung phương thức sau vào lớp XL_KHACH_HANG: 'Xác định số dịng có mã số tương ứng Public Function Lay_chi_so(ByVal pMa_so As Integer) As Long Dim i as Long For i = To Me.So_dong() - If Me.Rows(i)(Khoa) = pMa_so Then Return i End If Next Return -1 End Function Public Sub Xoa_dong(pMa_so as Long) Dim lChi_so as Long = Lay_chi_so(pMa_so) If lChi_so >= Then Try Me.Rows(lChi_so).Delete() Ghi_du_lieu() Catch e As Exception End Try End If 150 Bài WEB SERVICE End Sub Public Sub Ghi_du_lieu() Try mDa_Bo_doc_ghi.Update(Me) Me.AcceptChanges() Catch e As Exception Me.RejectChanges() End Try End Sub IV.2 Sử dụng WS_KHACH_HANG IV.2.1 Kiểm tra Web Service Sau thiết kế thành công WS_KHACH_HANG, tiến hành kiểm tra Web service vừa tạo Danh sách phương thức WS_KHACH_HANG Chọn chức Doc_danh_sach_khach_hang Thi hành phương thức Doc_danh_sach_khach_hang 151 Bài WEB SERVICE Kết quả: Kết dạng XML IV.2.2 Sử dụng Web Service WS_KHACH_HANG Sau xây dựng kiểm tra thành công WS_KHACH_HANG, sử dụng web service vừa tạo vào ứng dụng Viết lệnh xử lý: Private Sub Page_Load(…) Handles MyBase.Load Dim lKhach_hang As New WS_KHACH_HANG dtgKhach_hang.DataSource = lKhach_hang.Doc_danh_sach_khach_hang dtgKhach_hang.DataBind() End Sub Màn hình kết quả: 152 Bài WEB SERVICE BÀI TẬP Tạo webservice cho trang web sau: 153 Bài WEB SERVICE Tạo webservice cho trang web sau: 154 TÀI LIỆU THAM KHẢO Trong trình biên soạn tài liệu hướng dẫn giảng dạy giáo trình, chúng tơi có tham khảo số tài liệu sau: MSDN Library - April 2003 & MSDN Library - July 2005 MSDN Traning: Developing Microsoft ASP.NET Web Applications Using Visual Studio.NET MSDN Traning: Programming with Microsoft ADO.NET ASP.NET Web Developer’s Guide ASP.NET By Example [Steven A Smith] Developing Web Applications with Visual Basic NET and ASP.NET [John Alexander, Billy Hollis] Programming ASP.NET, 2nd Edition [Dan Hurwitz, Jesse Liberty] Inside ASP.NET [Scott Worley] ASP NET Bible [Mridula Parihar] 10 ASP.NET for Web Designers [Peter Ladka] 11 Professional ADO.NET Programming [Wrox] 12 Cascading Style Sheets - The Designer's Edge [Molly E Holzschlag ] 13 JavaScript Bible - Gold Edition [Danny Goodman] 14 Real World Web Services [Yasser Shohoud] 15 Trang chủ ASP.Net: http://www.asp.net 16 Trường học trực tuyến W3C: http://www.w3schools.com 155 BỘ CÔNG THƯƠNG TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT VINATEX TP.HCM KHOA NGOẠI NGỮ - TIN HỌC ĐỀ CƯƠNG BÀI GIẢNG THIẾT KẾ ỨNG DỤNG VỚI ASP.NET Tp.HCM, tháng 12 năm 2014 (Lưu hành nội bộ) 156 MỤC LỤC Bài TỔNG QUAN VỀ ASP.NET I Tổng quan lập trình ứng dụng Web I.1 HTTP HTML - Nền móng Kỹ thuật lập trình web I.2 Tìm hiểu mơ hình ứng dụng II Giới thiệu ASP.Net: II Tìm hiểu Net Phatform: II.2 Tìm hiểu Net Framework: II.3 Tìm hiểu ASP.Net 10 II.4 Những ưu điểm ASP.Net 11 II.5 Quá trình xử lý tập tin ASPX 12 III Web Server 13 III.1 Internet Information Services 13 III.2 Cài đặt Web Server 14 III.3 Cấu hình Internet Information Services 17 III.4 Tạo ứng dụng web IIS 19 IV Tạo ứng dụng Web 20 IV.1 Khởi động MS Visual Studio Net 20 IV.2 Tạo ứng dụng Web 21 IV.3 Phân loại tập tin ASP.Net 23 IV.4 Làm quen với thành phần giao diện VS Net 24 Bài 28 WEB SERVER CONTROL 28 I HTML Control 28 II ASP.Net Web Control 30 II.1 Asp.Net Page 30 II.2 Điều khiển 31 II.3 Điều khiển kiểm tra liệu 41 II.4 Một số điều khiển khác 49 II.5 Đối tượng ViewState 55 Bài CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU 58 I Điều khiển DataGrid 58 I.1 Các thao tác định dạng lưới 58 I.3 Xử lý phân trang 65 I.4 Tùy biến cột 66 I.5 Cập nhật liệu trực tiếp lưới 72 II Điều khiển DataList 76 II.1 Sử dụng DataList để hiển thị liệu 76 157 II.2 Cập nhật liệu với DataList 81 III Điều khiển Repeater 84 IV Các ví dụ mở rộng 87 IV.1 Xử lý đảo hướng xếp DataGrid 87 IV.2 Tạo biểu tượng xếp cột cho DataGrid 88 IV.3 Định dạng hình thức hiển thị cho dòng liệu thỏa điều kiện DataGrid 89 IV.4 Tạo hiệu ứng chọn rê chuột qua dòng liệu 90 Bài XÂY DỰNG LỚP XỬ LÝ DỮ LIỆU 92 I Cấu trúc chi tiết lớp XL_BANG 94 I.1 Khai báo biến thành viên 94 I.2 Danh sách thuộc tính 95 I.3 Nhóm hàm khởi tạo đối tượng 96 I.4 Nhóm hàm cung cấp thông tin 97 I.5 Nhóm hàm xử lý tính tốn 97 I.6 Nhóm hàm xử lý kiện 99 II Xây dựng lớp xử lý nghiệp vụ 100 III Sử dụng lớp xử lý nghiệp vụ 102 Bài XÂY DỰNG ĐỐI TƯỢNG THỂ HIỆN 106 I Tạo đối tượng thể 106 II Sử dụng đối tượng thể 108 III Tạo phương thức cho đối tượng thể 109 IV Tạo kiện cho đối tượng thể 110 IV.1 Thiết kế 112 IV.2 Xử lý 112 Bài XÂY DỰNG VÀ QUẢN LÝ ỨNG DỤNG 117 I Đối tượng Request, Response 117 I.1 Đối tượng Response 117 I.2 Đối tượng Request 119 II Đối tượng Session, Application 121 II.1 Đối tượng Application 122 II.2 Đối tượng Session 123 III Đối tượng Server 124 IV Đối tượng Cookies 124 IV.1 Giới thiệu 124 IV.2 Làm việc với Cookies 125 V Tập tin quản lý cấu hình ứng dụng 126 V.1 Global.asax 126 158 V.2 Web.config 127 VI Tổ chức & xây dựng ứng dụng 132 VI.1 Tổ chức lưu trữ ứng dụng 132 VI.2 Xây dựng ứng dụng 133 Bài WEB SERVICE 137 I Tìm hiểu Web Services 137 II Xây dựng Web Services 140 II.1 Tạo Web Services VS Net 140 II.2 Kiểm tra Web Service 141 III Sử dụng Web Service 143 III.1 Sử dụng Web Service người dùng xây dựng 144 III.2 Sử dụng Web Services cung cấp miễn phí mạng 144 IV Xây dựng Web Services truy xuất liệu 148 IV.1 Web Service: WS_KHACH_HANG 148 IV.2 Sử dụng WS_KHACH_HANG 150 TÀI LIỆU THAM KHẢO 154 ... NAM TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP.HCM GIÁO TRÌNH LẬP TRÌNH WEB VỚI ASP. NET Nghề: Cơng nghệ thơng tin Trình độ: Cao đẳng Ban hành kèm theo Quyết định số: /QĐ- ngày ………tháng năm…… Trường Cao đẳng... trang liên kết frame cha Ví dụ: hplASP _net. Text = "Trang chủ ASP. Net" hplASP _net. ImageUrl = "Hinh \Asp_ net. jpg" hplASP _net. NavigateUrl = http://www .asp. net hplASP _net. Target = "_blank" II.2.3 TextBox... ASP. Net thực Server đó, gọi kỹ thuật lập trình phía server II.4 Những ưu điểm ASP. Net ASP. Net cho phép bạn lựa chọn ngơn ngữ lập trình mà bạn yêu thích: Visual Basic .Net, J#, C#,… Trang ASP. Net

Ngày đăng: 29/12/2022, 15:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN