1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)

178 5 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

Tiêu đề Giáo Trình Xây Dựng Ứng Dụng Web
Tác giả Nguyễn Gia Quang Đăng
Người hướng dẫn Lê Như Dzi, Võ Đào Thị Hồng Tuyết, Nguyễn Gia Quang Đăng
Trường học Trường Cao đẳng Kinh tế Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Hệ thống thông tin
Thể loại giáo trình
Năm xuất bản 2020
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 178
Dung lượng 2,94 MB

Cấu trúc

  • Chương 1: Giới thiệu chung (10)
    • 1.1. Nền tảng của Web ngôn ngữ HTML (10)
      • 1.1.1. Cơ bản về ngôn ngữ HTML (10)
      • 1.1.2. Định dạng Text (11)
      • 1.1.3. Liên kết các trang web (Link) (13)
      • 1.1.4. Danh sách (List) (14)
    • 1.2. Các giao thức sử dụng cho Web (15)
    • 1.3. Các mô hình ứng dụng Web (16)
      • 1.3.1. Tất cả trong một Server (16)
      • 1.3.2. Tách riêng Database Server (17)
      • 1.3.3. S ử d ụ ng Load Balancer (Reverse Proxy) (18)
      • 1.3.4. Dùng HTTP Accelerator (Caching Reverse Proxy) (18)
      • 1.3.5. Cấu hình Master-Slave Database Replication (19)
  • Chương 2: Định dạng trang web với CSS (21)
    • 2.1. Mô hình 3 lớp trong thiết kế Web (21)
    • 2.2. Các loại CSS (22)
    • 2.3. CSS In-line, out-line (23)
      • 2.3.1. Các thành phần CSS (23)
      • 2.3.2. Nhóm nhiều đối tượng (24)
      • 2.3.3. Thuộc tính Class (24)
      • 2.3.4. Thuộc tính ID (25)
      • 2.3.5. Ghi chú trong CSS (26)
      • 2.3.6. Sử dụng CSS trong trang HTML (26)
      • 2.3.7. Các ví dụ áp dụng (28)
    • 2.4. Bài tập áp dụng (31)
  • Chương 3: Ngôn ngữ JavaScript (33)
    • 3.1. Giới thiệu về JavaScript (33)
    • 3.2. Sử dụng JavaScript trong trang HTML (33)
      • 3.2.1. Cú pháp cơ bản của lệnh (34)
      • 3.2.3. Hiển thị hộp thoại thông báo –Lệnh alert() (35)
      • 3.2.4. Giao tiếp với người sử dụng – Lệnh prompt() (36)
      • 3.2.5. Hỏi đáp người sử dụng – Lệnh confirm() (37)
    • 3.3. Biến, kiểu dữ liệu, biểu thức, toán tử (38)
      • 3.3.1. Biến (38)
      • 3.3.2. Kiểu dữ liệu (38)
      • 3.3.3. Lệnh, khối lệnh trong JavaScript (39)
      • 3.3.4. Toán tử & Biểu thức trong JavaScript (40)
    • 3.4. Câu lệnh điều kiện, lệnh lặp for (42)
      • 3.4.1. Cấu trúc lập trình rẽ nhánh (Điều Kiện) (42)
      • 3.4.2. Cấu trúc lặp (43)
    • 3.5. Câu lệnh while, switch, break, continue (44)
    • 3.6. Biến mảng, hàm (46)
      • 3.6.1. Mảng (46)
      • 3.6.2. Hàm (48)
    • 3.7. DOM (53)
    • 3.8. Sự kiện (58)
      • 3.8.1. Khái niệm sự kiện và xử lý sự kiện (58)
      • 3.8.2. Một số sự kiện trong JavaScript (60)
      • 3.8.3. Các sự kiện có sẵn của một số đối tượng (60)
    • 3.9. Bài tập áp dụng (62)
  • Chương 4: Kịch bản trình chủ (63)
    • 4.1. Giới thiệu về ngôn ngữ lập trình Web động (63)
    • 4.2. Cài đặt cấu hình Web Server IIS (63)
    • 4.3. Giới thiệu Visual Studio (66)
      • 4.3.1. Tìm hiểu về .Net Phatform (66)
      • 4.3.2. Tìm hiểu về .Net Framework (67)
      • 4.3.3. Tìm hiểu về ASP.Net (71)
      • 4.3.4. Những ưu điểm của ASP.Net (72)
      • 4.3.5. Quá trình xử lý tập tin ASPX (73)
    • 4.4. Tạo ứng dụng Web trên Visual Studio (73)
      • 4.4.1. Khởi động ASP.NET (73)
      • 4.4.2. Phân loại tập tin trong ASP.Net (76)
      • 4.5.1. Solution Explorer (77)
      • 4.5.2. Property/Toolbox (78)
    • 4.6. Server Controls - Các điều khiển chuẩn (79)
      • 4.6.1. HTML Control (79)
      • 4.6.2. ASP.Net Web Control (80)
    • 4.7. Điều khiển GridView (94)
      • 4.7.1. Các thao tác định dạng lưới (94)
      • 4.7.2. Xử lý sắp xếp (100)
      • 4.7.3. Xử lý phân trang (103)
      • 4.7.4. Tùy biến các cột (104)
      • 4.7.5. Cập nhật dữ liệu trực tiếp trên lưới (107)
    • 4.8. Điều khiển DataList (113)
      • 4.8.1. Sử dụng DataList để hiển thị dữ liệu (113)
      • 4.8.2. Cập nhật dữ liệu với DataList (117)
    • 4.9. Điều khiển Repeater (124)
    • 4.10. Bài tập áp dụng (128)
  • Chương 5: Xây dựng và quản lý ứng dụng (129)
    • 5.1. Đối tượng Request (129)
    • 5.2. Đối tượng Response (130)
      • 5.2.1. Đối tượng Response (130)
      • 5.2.2. Ví dụ xử lý cho phép người dùng download file (131)
    • 5.3. Session (132)
      • 5.3.1. Thuộc tính & Phương thức (133)
      • 5.3.2. Sử dụng biến toàn cục với Session (134)
    • 5.4. Application (135)
      • 5.4.1. Sử dụng biến Application (135)
      • 5.4.2. Duyệt qua tập hợp biến chứa trong Application (135)
    • 5.5. Cookies (135)
      • 5.5.1. Giới thiệu (135)
      • 5.5.2. Làm việc với Cookies (136)
    • 5.6. Global.asax (137)
      • 5.6.1. Cấu trúc tập tin Global.asax (137)
      • 5.6.2. Các sự kiện trong tập tin Global.asax (138)
      • 5.7.1 Cấu trúc tập tin web.config (140)
      • 5.7.2. Các cấu hình mặc định (142)
    • 5.8. Bài tập áp dụng (144)
  • Chương 6: Xây dựng các thành phần truy xuất dữ liệu (145)
    • 6.1. Tìm hiểu về ADO.NET (145)
    • 6.2. Giới thiệu (145)
    • 6.3. Kiến trúc ADO.NET (146)
    • 6.4. Minh họa tạo kết nối cơ sở dữ liệu (147)
    • 6.5. Các đối tượng trong ADO.NET (147)
    • 6.6. Đối tượng Connection (149)
    • 6.7. Đối tượng Command (150)
    • 6.8. Đối tượng DataReader (153)
    • 6.9. Đối tượng DataAdapter (153)
    • 6.10. Đối tượng DataSet (155)
    • 6.11. Đối tượng DataTable (160)
    • 6.12. Bài tập (163)
  • Chương 7: Web Services (164)
    • 7.1. Tìm hiểu về Web services (164)
    • 7.2. Xây dựng Web services (166)
      • 7.2.1. Tạo Web Services trong Visual studio .Net (166)
      • 7.2.2. Kiểm tra Web Service (168)
    • 7.3. Sử dụng Web services (170)
      • 7.3.1. Sử dụng Web Services do người dùng xây dựng (170)
      • 7.3.2. Sử dụng Web Services được cung cấp miễn phí trên mạng (171)
    • 7.4. Xây dựng Web services truy xuất dữ liệu (172)
    • 7.5. Bài tập (174)
  • TÀI LIỆU THAM KHẢO (175)

Nội dung

Giới thiệu chung

Nền tảng của Web ngôn ngữ HTML

1.1.1 Cơ bản về ngôn ngữ HTML

HTML bao gồm 3 thẻ để xác định cấu trúc của trang web bao gồm:

Mặc dù có nhiều thẻ định dạng văn bản, nhưng có một số thẻ cơ bản mà hầu hết các trang web đều cần sử dụng.

: bắt đầu một đoạn văn bản mới

,

,…: đặt dòng văn bản nằm trong cặp thẻ là tiêu đề (heading)

HTML cung cấp thẻ ghi chú, cho phép người viết trang web thêm những ghi chú cá nhân vào trang Thẻ này đặc biệt và khác biệt so với các thẻ HTML khác.

KHOA CÔNG NGHỆ THÔNG TIN 8

Để ghi nhớ các thẻ trong HTML 4.0, người viết nên hiểu rõ ý nghĩa tên của từng thẻ, vì chúng thường là viết tắt của các từ gợi nhớ như Paragraph (đoạn văn) và BReak (ngắt dòng) Việc này giúp dễ dàng hơn trong việc sử dụng và nhớ các thẻ.

Trong các tài liệu và văn bản, việc sử dụng các kiểu chữ như đậm, nghiêng và gạch dưới là rất phổ biến Các thẻ định dạng kiểu chữ này giúp làm nổi bật nội dung và cải thiện tính dễ đọc của văn bản.

In rất đậm

chữ lớn

nhấn mạnh

chữ nhỏ

Công thức hoá học của nước: H2O

Để xem mã HTML của một trang web trong Internet Explorer, bạn vào menu View và chọn mục Source Việc xem mã HTML của các trang web chuyên nghiệp có thể giúp bạn học hỏi nhiều điều, nhưng hãy lưu ý rằng những trang web đẹp thường được xây dựng tỉ mỉ và sử dụng nhiều công cụ hỗ trợ.

* Font chữ, màu sắc và canh lề

KHOA CÔNG NGHỆ THÔNG TIN 9

Computer Joke

Máy tính của anh có ổ đĩa mềm chứ ?

Tôi không nhìn thấy bên trong Có chữ

" Intel Pentium Inside

Thuộc tính của một thẻ

Thông tin định dạng có thể bao gồm nhiều chi tiết, như trong ví dụ với thẻ , nơi font chữ được xác định qua các thuộc tính như tên font, kích thước và màu sắc Các thuộc tính này cần được đặt trong dấu ngoặc kép Quan trọng là, trình duyệt web không chú ý đến cách trình bày mã HTML trong file html, mà chỉ dựa vào các thẻ để hiển thị nội dung của trang web.

Thẻ được dùng khi bạn muốn yêu cầu web browser "tôn trọng" các khoảng trắng và xuống dòng trong đoạn code HTML của mình

Vi du the pre trong HTML

KHOA CÔNG NGHỆ THÔNG TIN 10 nay se duoc giu nguyen dinh dang, khoang cach le va vi tri cua cac tu

1.1.3 Liên kết các trang web (Link)

A URL, or Uniform Resource Locator, is an internet address that points to a specific webpage Commonly referred to as a "web address," it serves as a crucial element for navigating the web.

Tên miền là một địa chỉ dễ nhớ, được quản lý bởi tổ chức quốc tế để đảm bảo tính duy nhất Để có một tên miền gợi nhớ cho website của bạn, cần phải tiến hành đăng ký tên đó.

Trong domain name, phần cuối cùng dùng để phân loại các website:

* Com : commercial – website thương mại, kinh doanh

* Edu : education – website về giáo dục, đào tạo

* Gov : government – website của chính phủ

* vn, uk, au, … : vietnam, united kingdom, austratlia – website của quốc gia nào

HTML dùng thẻ (anchor) để tạo liên kết tới một trang web Thẻ có ba thuộc tính chính là:

* href : địa chỉ của trang web muốn liên kết

* target : cửa sổ sẽ hiển thị trang web

* name : tên của mối liên kết

Liên kết tới Yahoo!

Thuộc tính target xác định cách mở trang web mới; nếu không chỉ định giá trị, trang hiện tại sẽ bị thay thế Để mở trang web trong một cửa sổ mới, hãy sử dụng target="_blank".

KHOA CÔNG NGHỆ THÔNG TIN 11

* Liên kết trong cùng trang web

Nếu như cho bạn được quyền đặt tên cho các thẻ của HTML, có lẽ bạn sẽ thay bằng

Link thực sự được coi như một mỏ neo khi được sử dụng để liên kết đến một đoạn văn bản cụ thể trong cùng một trang web.

Thuộc tính name của dùng để đặt tên cho đoạn văn bản sẽ liên kết tới Chú ý, giá trị của name có dấu # đứng trước

Đến cuối trang

* Liên kết với địa chỉ email Để cho phép người đọc gửi mail cho bạn bằng cách click vào liên kết, gán giá trị

"mailto:địa chỉ email" cho thuộc tính href

Danh sách gồm 2 loại: có thứ tự và không có thứ tự

Danh sách trong HTML tương tự như định dạng Bullets và Numbering trong Word Chúng ta thường không phân biệt rõ giữa danh sách có thứ tự và không có thứ tự Danh sách có thứ tự đánh số các mục bằng 1, 2, 3 hoặc a, b, c, trong khi danh sách không có thứ tự bắt đầu mỗi mục bằng các ký hiệu như –, , , à, o,…

Trong HTML, mỗi mục trong danh sách được bắt đầu bằng thẻ

  • và được đặt trong một thẻ danh sách HTML hỗ trợ các thẻ danh sách khác nhau để tổ chức nội dung hiệu quả.

      : ordered list – danh sách có thứ tự

        : unordered list – danh sách không có thứ tự

        Nội dung môn học lập trình web cơ bản

        KHOA CÔNG NGHỆ THÔNG TIN 12

        Nội dung môn học lập trình web cơ bản

        Nội dung môn học lập trình web cơ bản

        Nội dung môn học lập trình web cơ bản

        Thuộc tính type của thẻ danh sách cho phép tùy chỉnh kiểu số thứ tự hoặc biểu tượng bullet hiển thị trước mỗi mục trong danh sách Các giá trị của thuộc tính type bao gồm nhiều lựa chọn khác nhau.

        Bảng 1-1: Kết quả bảng danh sách

        Các giao thức sử dụng cho Web

        Thuộc tính HREF (tham chiếu siêu văn bản) được dùng để chỉ địa chỉ hay URL của tài liệu hoặc file được liên kết

        Cú pháp của HREF là:

        KHOA CÔNG NGHỆ THÔNG TIN 13

        Hypertext

        Giao thức là một loại quy tắc quan trọng trong giao tiếp mạng, với một số giao thức phổ biến như HTTP (giao thức truyền siêu văn bản), Telnet (mở phiên Telnet), Gopher (tìm kiếm file), FTP (giao thức truyền file) và Mailto (gửi thư điện tử).

        Host.domain – Đây là địa chỉ Internet của máy chủ

        Port - Cổng phục vụ của máy chủ đích

        HyperText – Đây là văn bản hay hình ảnh mà người dùng cần nhấp vào để kích hoạt liên kết

        Các mô hình ứng dụng Web

        Có nhiều mô hình cài đặt Server cho ứng dụng, mỗi mô hình có những ưu điểm riêng Để chọn lựa mô hình Server tối ưu, bạn cần xem xét các yếu tố như hiệu suất, khả năng mở rộng, tính sẵn có, độ tin cậy, giá cả và khả năng quản lý.

        Dưới đây là 5 mô hình Cloud Server phổ biến dành cho ứng dụng, có thể kết hợp linh hoạt và phù hợp với từng môi trường cũng như loại ứng dụng khác nhau.

        1.3.1 Tất cả trong một Server Đây là mô hình đơn giản nhất khi tất cả tài nguyên của ứng dụng đều được đặt chung trên một máy chủ duy nhất Một gói tài nguyên ứng dụng bao gồm các web server, application server và database server Chẳng hạn như gói LAMP bao gồm Linux, Apache, MySQL và PHP trên cùng một server

        KHOA CÔNG NGHỆ THÔNG TIN 14

        Mô hình sử dụng chung phần tài nguyên server mang lại sự đơn giản và nhanh chóng trong việc cài đặt ứng dụng Tuy nhiên, đây chỉ là mô hình cơ bản, gây khó khăn cho việc mở rộng và tách biệt các thành phần của ứng dụng Việc ứng dụng và cơ sở dữ liệu sử dụng chung tài nguyên của cloud server như CPU, bộ nhớ và I/O có thể dẫn đến suy giảm hiệu suất và làm khó khăn trong việc xác định lỗi.

        Mô hình này tách biệt hệ thống quản lý cơ sở dữ liệu với các ứng dụng khác nhằm tránh xung đột tài nguyên Đồng thời, tính bảo mật có thể được nâng cao bằng cách đặt cơ sở dữ liệu trong một mạng riêng.

        Mô hình tách biệt hệ thống quản lý database mang lại nhiều ưu điểm, bao gồm cải thiện hiệu suất nhờ việc ứng dụng và database sử dụng tài nguyên riêng biệt Mô hình này cũng cho phép mở rộng tài nguyên cho server khi cần thiết Tuy nhiên, việc cài đặt phức tạp hơn so với mô hình all-in-one và có thể dẫn đến suy giảm hiệu suất nếu hai server ứng dụng và database gặp phải độ trễ lớn do khoảng cách xa hoặc băng thông thấp.

        KHOA CÔNG NGHỆ THÔNG TIN 15

        1.3.3 Sử dụng Load Balancer (Reverse Proxy) Để cải thiện hiệu suất và độ tin cậy trong môi trường máy chủ, chúng ta có thể phân phối việc xử lý request trên nhiều máy chủ bằng load balancer Nếu một trong các máy chủ bị lỗi, load balancer sẽ gửi các yêu cầu xử lý lưu lượng đến các máy chủ khác cho đến khi máy chủ bị lỗi hoạt động trở lại bình thường

        Load balancer có thể phục vụ nhiều ứng dụng thông qua cùng một tên miền và cổng bằng cách sử dụng layer application reverse proxy Một số phần mềm nổi bật cho load balancer reverse proxy bao gồm HAProxy, Nginx và Varnish.

        Mô hình máy chủ load balancer có ưu điểm nổi bật là khả năng mở rộng dễ dàng bằng cách thêm nhiều máy chủ, đồng thời giúp chống lại các cuộc tấn công DDOS bằng cách giới hạn tần suất kết nối của người dùng Tuy nhiên, nếu load balancer không đạt hiệu suất tối ưu hoặc bị cấu hình kém, nó có thể trở thành nút cổ chai, dẫn đến tình trạng tắc nghẽn trong hệ thống cloud.

        Một điểm yếu nghiêm trọng của mô hình này là nếu máy chủ load balancer gặp sự cố, toàn bộ hệ thống sẽ bị ảnh hưởng Ngoài ra, cần xem xét các vấn đề liên quan đến việc chấm dứt SSL và xử lý yêu cầu session.

        1.3.4 Dùng HTTP Accelerator (Caching Reverse Proxy)

        Các kỹ thuật như HTTP accelerator và caching HTTP reverse proxy giúp giảm thời gian tải nội dung từ server đến người dùng HTTP accelerator lưu trữ nội dung mà ứng dụng trả về lần đầu vào bộ nhớ, và khi có yêu cầu truy cập tương tự, nó chỉ cần lấy nội dung từ bộ nhớ để trả về cho người dùng.

        KHOA CÔNG NGHỆ THÔNG TIN 16 cho phép người dùng truy cập mà không cần tương tác trực tiếp với web server Một số phần mềm tăng tốc HTTP trên cloud server nổi bật bao gồm Varnish, Squid và Nginx.

        Mô hình HTTP accelerator server rất hiệu quả trong việc nâng cao hiệu suất cho các website có nội dung nặng và tài nguyên truy cập thường xuyên Nó giúp giảm tải CPU trên web server thông qua việc sử dụng bộ nhớ cache và nén Ngoài ra, HTTP accelerator server còn có thể hoạt động như một load balancer server, đồng thời các phần mềm caching cũng đóng vai trò quan trọng trong việc bảo vệ hệ thống khỏi các cuộc tấn công DDOS.

        Hai điểm quan trọng khi sử dụng HTTP accelerator là cần điều chỉnh để đạt hiệu suất tối ưu, và nếu tỷ lệ tái sử dụng bộ nhớ cache thấp, hiệu suất của cloud server có thể bị ảnh hưởng tiêu cực.

        1.3.5 Cấu hình Master-Slave Database Replication

        If your system experiences a higher number of read requests compared to write requests, such as in a Content Management System (CMS), configuring a master-slave database replication can enhance performance.

        Định dạng trang web với CSS

        Mô hình 3 lớp trong thiết kế Web

        Kiến trúc 3-tiers là một mô hình client/server, trong đó giao diện người dùng (UI), quy tắc xử lý (BR/BL) và lưu trữ dữ liệu được phát triển như các module độc lập Mỗi module thường được duy trì trên các nền tảng riêng biệt, giúp tối ưu hóa hiệu suất và khả năng mở rộng Kiến trúc này được xem là một mẫu thiết kế phần mềm và là phương pháp triển khai ứng dụng ở mức vật lý với ba module chính và riêng biệt.

        • Tầng Presentation: hiển thị các thành phần giao diện để tương tác với người dùng như tiếp nhận thông tin, thông báo lỗi, …

        Tầng Business Logic chịu trách nhiệm thực hiện các hành động nghiệp vụ của phần mềm, bao gồm tính toán và đánh giá tính hợp lệ của thông tin Đồng thời, tầng này còn đảm nhiệm việc di chuyển và xử lý thông tin giữa hai tầng trên và dưới.

        Tầng Data là nơi lưu trữ và trích xuất dữ liệu từ các hệ quản trị cơ sở dữ liệu hoặc các file trong hệ thống, giúp tầng Business logic thực hiện các truy vấn dữ liệu một cách hiệu quả.

        Mọi người thường nhầm lẫn giữa tier và layer do cấu trúc phân chia tương tự (presentation, business, data), nhưng thực tế chúng hoàn toàn khác nhau Ba tier mang tính vật lý, trong khi ba layer mang tính logic, tức là ứng dụng được chia thành các phần theo chức năng hoặc vai trò một cách hợp lý Các layer khác nhau được thực thi trong một vùng nhớ của process, do đó, một tier có thể chứa nhiều layer.

        Việc phân chia mã nguồn thành từng lớp giúp tăng tính tường minh cho code Mỗi lớp đảm nhận các chức năng riêng biệt như giao diện, xử lý và truy vấn, thay vì gộp tất cả vào một chỗ, từ đó giảm sự kết dính và cải thiện khả năng bảo trì.

        KHOA CÔNG NGHỆ THÔNG TIN 19

        Khi hệ thống được phân chia, việc bảo trì trở nên dễ dàng hơn, cho phép các thành phần riêng lẻ dễ dàng thay đổi Sự thay đổi này có thể được giới hạn trong một lớp cụ thể hoặc ảnh hưởng đến lớp gần nhất mà không làm ảnh hưởng đến toàn bộ chương trình.

        Việc phát triển và tái sử dụng trở nên dễ dàng hơn khi lập trình theo một mô hình nhất định, vì điều này giúp chúng ta có một chuẩn mực để tuân theo khi thêm chức năng mới.

        Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường ( Winform sang Webfrom ) thì chỉ việc thay đổi lại lớp GUI

        Việc bàn giao công việc trở nên dễ dàng và tiết kiệm thời gian hơn khi mọi người tuân thủ một quy chuẩn đã được định sẵn, giúp tăng cường sự tương tác hiệu quả giữa các thành viên trong nhóm.

        Mô hình 3 lớp giúp dễ dàng phân phối khối lượng công việc, với mỗi nhóm và bộ phận nhận nhiệm vụ cụ thể Sự phân chia này cho phép các lập trình viên kiểm soát hiệu quả khối lượng công việc của mình.

        Các loại CSS

        CSS cho phép định nghĩa kiểu và cách hiển thị cho các phần tử HTML, giúp phân tách nội dung và cách trình bày trang Nếu chỉ sử dụng HTML, định dạng và kiểu phần tử phải nằm cùng vị trí trong văn bản, gây khó khăn trong việc bảo trì khi trang web trở nên phức tạp Sử dụng CSS giúp loại bỏ định dạng khỏi văn bản HTML và lưu trữ chúng trong một file CSS riêng biệt.

        CSS, hay còn gọi là Cascading Style Sheet, là ngôn ngữ dùng để tạo phong cách cho trang web Nó cho phép định kiểu cho các yếu tố được viết bằng ngôn ngữ đánh dấu như HTML, giúp tiết kiệm công sức cho người viết web bằng cách điều khiển định dạng của nhiều trang cùng lúc CSS phân biệt hiển thị của trang web với nội dung chính thông qua việc kiểm soát bố cục, màu sắc và font chữ.

        CSS, được phát triển bởi W3C vào năm 1996, ra đời để khắc phục hạn chế của HTML trong việc định dạng trang web, vì HTML chỉ được thiết kế để đánh dấu nội dung mà không hỗ trợ định dạng hiệu quả.

        Thẻ được giới thiệu trong HTML 3.2 đã gây khó khăn cho lập trình viên do sự đa dạng về font chữ, màu nền và phong cách trên website Việc viết lại mã cho trang web trở thành một quá trình tốn thời gian và công sức Để khắc phục vấn đề này, W3C đã phát triển CSS, giúp đơn giản hóa việc quản lý kiểu dáng và bố cục của trang web.

        KHOA CÔNG NGHỆ THÔNG TIN 20

        HTML và CSS có mối liên hệ chặt chẽ, trong đó HTML là ngôn ngữ đánh dấu cơ bản cho website, còn CSS chịu trách nhiệm về phong cách và giao diện Sự kết hợp của chúng là điều không thể thiếu để tạo nên một trang web hoàn chỉnh.

        CSS về lý thuyết không có cũng được, nhưng khi đó website sẽ không chỉ là một trang chứa văn bản mà không có gì khác

        Chúng có 3 loại là Inline, External và Internal:

        Style CSS Internal là kiểu định dạng được tải mỗi khi trang web được làm mới, dẫn đến tăng thời gian tải trang Mặc dù không thể sử dụng một style CSS cho nhiều trang, vì nó chỉ áp dụng cho từng trang riêng lẻ, nhưng lợi ích của style CSS Internal là giúp dễ dàng chia sẻ và xem trước nội dung của trang khi mọi thứ đã được thiết lập trong cùng một trang.

        Phương pháp sử dụng Style External là lựa chọn thuận tiện nhất, vì mọi thứ được lưu trữ trong file css Điều này cho phép bạn tạo phong cách trong một file riêng và áp dụng CSS vào các trang mong muốn Việc sử dụng external style sẽ giúp cải thiện đáng kể thời gian tải trang.

        Cuối cùng, chúng ta sẽ khám phá về CSS Inline, một phương pháp áp dụng phong cách trực tiếp cho các yếu tố cụ thể bằng thẻ Mặc dù mỗi thành phần cần có phong cách riêng, cách này không phải lúc nào cũng là lựa chọn tốt nhất cho việc quản lý CSS Tuy nhiên, CSS Inline có thể rất tiện lợi khi bạn muốn nhanh chóng thay đổi và xem trước một yếu tố mà không cần truy cập vào file CSS chính để chỉnh sửa.

        CSS In-line, out-line

        Để áp dụng CSS tác dụng vào các phần HTML có ba cách nhúng CSS: Inline

        • Inline: mã CSS viết tại thuộc tính style của phần tử HTML

        • Internal: mã CSS trong chính văn bản HTML, nằm trong khối thẻ

        • External: mã CSS ở một file riêng biệt sau đó nạp vào HTML bằng phần tử

        Cú pháp của CSS bao gồm ba phần chính: đối tượng, thuộc tính và giá trị, được trình bày theo cấu trúc: Đối tượng {thuộc tính: giá trị} Đối tượng thường là các thẻ HTML mà bạn muốn điều chỉnh cách hiển thị, thuộc tính xác định đặc điểm hiển thị của đối tượng, và giá trị mô tả cách mà thuộc tính đó sẽ được hiển thị Cặp {thuộc tính: giá trị} được đặt trong dấu ngoặc nhọn {}.

        KHOA CÔNG NGHỆ THÔNG TIN 21

        Nếu giá trị gồm nhiều từ, đặt chúng trong dấu nháy đôi: p {font-family: "sans serif"}

        Để định nghĩa nhiều thuộc tính cho một đối tượng, hãy sử dụng dấu chấm phẩy (;) để phân cách các cặp thuộc tính và giá trị Để cải thiện khả năng đọc của Style, bạn có thể định dạng nội dung bằng cách căn giữa và sử dụng màu đỏ cho văn bản.

        P { text-align: center; color: black; font-family: arial

        Bạn có thể định nghĩa một Style cho nhiều đối tượng cùng một lúc: h1, h2, h3, h4, h5, h6 { color: green

        Using the Class attribute, you can define multiple styles for the same element For instance, if you want two styles for the same

        tag, you can set it so that any

        with class="right" aligns to the right, while class="center" aligns to the center: p.right {text-align: right} p.center {text-align: center}.

        Đoạn này sẽ được canh phải

        Đoạn này sẽ được canh giữa

        KHOA CÔNG NGHỆ THÔNG TIN 22

        Bạn cũng có thể bỏ qua tên đối tượng để định nghĩa kiểu Style cho tất cả các thành phần có Class mà bạn định nghĩa Ví dụ:

        .center { text-align: center; color: red

        Trong trang HTML sau, cả H1 và đoạn văn bản đều được canh giữa:

        Tiêu đề này sẽ được canh giữa

        Đoạn này sẽ được canh giữa

        Thuộc tính ID có thể dùng định nghĩa Style theo hai cách:

        - Tất cả các thành phần HTML có cùng một ID

        - Chỉ một thành phần HTML nào đó có ID được định nghĩa

        Ví dụ sau, Style dùng cho tất cả các thành phần HTML có ID là "intro":

        #intro { font-size:110%; font-weight:bold; color:#0000ff; background-color:transparent

        Ví dụ sau, Style chỉ dùng cho thành phần

        nào có ID là "intro" trong trang Web p#intro { font-size:110%; font-weight:bold; color:#0000ff; background-color:transparent

        KHOA CÔNG NGHỆ THÔNG TIN 23

        CSS dùng cách ghi chú tương tự như ngôn ngữ C: các đoạn ghi chú bắt đầu bằng /* và kết thúc bởi

        /* Đây là phần ghi chú */ p { text-align: center;

        /* Đây là phần ghi chú */ color: black; font-family: arial

        2.3.6 Sử dụng CSS trong trang HTML

        • Làm thế nào chèn vào một Style Sheet

        Khi trình duyệt đọc một Style, nó sẽ định dạng nội dung trang Web theo Style đó

        Có 3 cách để sử dụng Style trong một trang HTML

        Sử dụng file CSS độc lập là cách hiệu quả khi bạn muốn áp dụng các kiểu dáng cho nhiều trang web Mỗi trang cần liên kết đến file CSS này thông qua thẻ được đặt trong phần HEAD của tài liệu HTML.

        Ví dụ một file CSS: Style.css hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}

        • Định nghĩa các Style trong phần HEAD

        Các Style định nghĩa trong phần HEAD có thể dùng cho nhiều thành phần HTML trong trang Web đó Bạn sử dụng thẻ để định nghĩa Style:

        KHOA CÔNG NGHỆ THÔNG TIN 24

        hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}

        Trình duyệt thường không hiển thị các thẻ HTML mà chúng không nhận diện, vì vậy để đảm bảo rằng các trình duyệt không hỗ trợ CSS không hiển thị phần định nghĩa Style, bạn nên đặt nó trong thẻ ghi chú của HTML.

        • Dùng Style cho một thành phần HTML cụ thể

        Sử dụng thuộc tính Style cho một thẻ HTML cụ thể hạn chế khả năng tận dụng các lợi ích của CSS, chỉ có thể điều chỉnh cách hiển thị của đối tượng Việc định nghĩa Style cho thành phần HTML thông qua thuộc tính này không mang lại hiệu quả tối ưu.

        Đây là đoạn văn bản

        • Nhiều Style cho một đối tượng

        Nếu một đối tượng được định nghĩa nhiều Style, nó sẽ sử dụng Style cụ thể nhất

        Ví dụ, một file CSS định nghĩa thẻ H3 như sau:

        KHOA CÔNG NGHỆ THÔNG TIN 25 h3 { color: red; text-align: left; font-size: 8pt

        Trong một file HTML có phần định nghĩa Style cho H3 như sau: h3 { text-align: right; font-size: 20pt

        Nếu trang HTML có link đến file CSS trên, Style cho H3 sẽ định nghĩa như sau: Color: red; text-align: right; font-size: 20pt

        2.3.7 Các ví dụ áp dụng a Màu chữ, màu nền

        body {background-color: rgb(250,250,250)} h1 {background-color: #00ff00; color: #0000ff} h2 {background-color: transparent; color: #dda0dd} p {color: #0000FF}}

        Đây là dòng tiêu đề: Header 1

        Đây là dòng tiêu đề: Header 2

        Đây là một đoạn văn bản

        KHOA CÔNG NGHỆ THÔNG TIN 26 b Canh lề văn bản

        h1 {text-align: center} h2 {text-align: left} h3 {text-align: right}

        c Hình nền cho trang Web

        Body { background-image: url('Hinh_nen.jpg'); background-repeat: repeat-x

        Mặc định, hình nền trang web được tô đầy Để tô hình nền theo hướng ngang hoặc đứng, chúng ta cần chọn giá trị phù hợp cho thuộc tính background-repeat, chẳng hạn như repeat.

        KHOA CÔNG NGHỆ THÔNG TIN 27 x/repeat-y/repeat-xy d Font chữ

        Ví dụ 1: Định dạng font chữ

        h1 {font-family: Tahoma; font-size: 150%} h2 {font-family: Tahoma; font-size: 120%} h3 {font-family: Tahoma; font-size: 12} p {font-family: Tahoma;} p.sansserif {font-family: sans-serif}

        Đây là đoạn văn bản

        Đây là đoạn văn bản có font sansserif

        Ví dụ 2: Định dạng đoạn

        p{text-align:justify; font-family: Tahoma; font-size: 12px; border-bottom: 2px solid #ff0000}

        KHOA CÔNG NGHỆ THÔNG TIN 28

        Để tìm kiếm các Web Service miễn phí, bạn có thể sử dụng Google Chúng tôi xin giới thiệu trang web http://www.webservicex.net, nơi cung cấp nhiều Web Service hữu ích cho người dùng.

        e Quản lý màu hiển thị của liên kết: Hyperlink

        a {text-decoration:none; color: #0000FF} a:visited {text-decoration:none; color: #0000A0} a:hover {text-decoration:none; color: #FF00FF} a:active {text-decoration:none; color: #FF0000}

        Trang Quản lý giáo viên - TTTH

        Bài tập áp dụng

        Sử dụng CSS định dạng thiết kế form theo biểu mẫu sau:

        KHOA CÔNG NGHỆ THÔNG TIN 29

        KHOA CÔNG NGHỆ THÔNG TIN 30

        Ngôn ngữ JavaScript

        Giới thiệu về JavaScript

        HTML chỉ cung cấp khả năng tạo trang web tĩnh để hiển thị thông tin, nhưng không hỗ trợ các trang web động có thể tương tác với người dùng Để khắc phục điều này, hãng Netscape đã phát triển ngôn ngữ script mang tên LiveScript, sau đó đổi tên thành JavaScript nhằm tận dụng sự phổ biến của ngôn ngữ lập trình Java Mặc dù Java và JavaScript có một số điểm tương đồng, chúng vẫn là hai ngôn ngữ lập trình khác biệt.

        JavaScript là một ngôn ngữ lập trình dạng script có thể tích hợp vào các file HTML Ngôn ngữ này không cần biên dịch mà được trình duyệt diễn dịch trực tiếp, cho phép người dùng dễ dàng học hỏi và thực hành JavaScript thông qua các trang web sử dụng ngôn ngữ này.

        JavaScript là ngôn ngữ lập trình dựa trên đối tượng, bao gồm nhiều kiểu đối tượng như đối tượng Math với các chức năng toán học Tuy nhiên, JavaScript không phải là ngôn ngữ hướng đối tượng như C++ hay Java vì không hỗ trợ lớp và tính kế thừa.

        Sử dụng JavaScript trong trang HTML

        Sử dụng một trong các cách sau:

         Sử dụng các câu lệnh và các hàm trong cặp thẻ

         Sử dụng các File nguồn JavaScript

         Sử dụng một biểu thức JavaScript làm giá trị của một thuộc tính HTML

         Sử dụng thẻ sự kiện (event handlers) trong một thẻ HTML nào đó

        Trong đó, sử dụng cặp thẻ và nhúng một File nguồn JavaScript là được sử dụng nhiều hơn cả

         Nhúng JavaScript vào trang HTML

        KHOA CÔNG NGHỆ THÔNG TIN 31

        JavaScript được chèn vào file HTML thông qua cặp thẻ và Khi đặt trong phần , mã JavaScript sẽ được tải trước, sẵn sàng cho phần còn lại của trang Cú pháp sử dụng như sau:

        // Chèn các mã Javacript vào đây

         Sử dụng File nguồn JavaScript

        Dùng phương pháp này hay hơn nhúng trực tiếp lệnh JavaScript vào trang HTML

        Các File JavaScript bên ngoài chỉ chứa các câu lệnh JavaScript và định nghĩa hàm Tên File của các hàm JavaScript bên ngoài cần có đuôi js,

        3.2.1 Cú pháp cơ bản của lệnh

        JavaScript cho phép xây dựng hàm, câu lệnh, toán tử và biểu thức trên cùng một dòng, kết thúc bằng dấu chấm phẩy (;) Để gọi một phương thức của đối tượng, cú pháp sử dụng là: object_name.property_name.

        Ví dụ 1: document.write("Chào các bạn!");

        3.2.2 Hiển thị một dòng văn bản Đối tượng document trong JavaScript được thiết kế sẵn hai phương thức để xuất một dòng văn bản ra màn hình client: write() và writeln() document.write(“Chuỗi văn bản”);

        Ví dụ 2: document.write("Chào các bạn"); document.writeln(“Chúc các bạn vui vẽ!”);

        Phương thức write(): Xuất ra màn hình dòng văn bản nhưng không xuống dòng

        Phương thức writeln(): Sau khi viết xong dòng văn bản tự động xuống dòng

        Ghi chú: Có thể dùng “+” để ghép nhiều chuỗi ký tự

        KHOA CÔNG NGHỆ THÔNG TIN 32

        Cho phép dùng các kí tự đặc biệt trong chuổi:

        Khi có dùng các ký tự đặc biệt hoặc lệnh Writeln thì phải đặt khối JavaScript trong cặp thẻ (Thẻ quy định văn bản định dạng trước)

        Ví dụ 3: Tạo trang (OutputText.htm) để phân biệt sự khác nhau của write() và writeln():

        document.writeln("One,"); document.write("Two,\n"); document.write("Three "); document.write(" ");

        3.2.3 Hiển thị hộp thoại thông báo –Lệnh alert()

        Cú pháp: alert("Câu thông báo");

        Khi đó sẽ chờ cho đến khi người sử dụng nhấn vào nút OK Thông thường, cách thức alert() được sử dụng trong các trường hợp:

        • Thông tin đưa vào form không hợp lệ

        • Kết quả sau khi tính toán không hợp lệ

        • Khi dịch vụ chưa sẵn sàng để truy nhập dữ liệu

        Ví dụ 4: Tạo trang (Thongbao.htm)

        KHOA CÔNG NGHỆ THÔNG TIN 33 alert("Chào mừng bạn đến với JavaScript! \n Nhấn Ok để tiếp tục");

        3.2.4 Giao tiếp với người sử dụng – Lệnh prompt()

        Hộp thoại bao gồm một thông báo, một trường nhập dữ liệu, nút OK và nút Cancel Người dùng sẽ nhập thông tin vào trường và nhấn nút OK để hệ thống xử lý dữ liệu đã nhập.

        Cú pháp: window.prompt("Câu thông báo","nội dung mặc định”);

        Ví dụ 5: Tạo trang (Hello.htm) hiện thị hộp thoại hỏi tên người dùng và sau đó sẽ hiển thị một thông báo chào tên mới đưa vào

        var name=window.prompt("Xin chào! Bạn tên gì?",""); document.write("Xin chào bạn " + name + " ! Chúc bạn học tốt JavaScript ");

        KHOA CÔNG NGHỆ THÔNG TIN 34

        Hình 3-1 Kết quả hộp thoại hỏi tên người dùng

        3.2.5 Hỏi đáp người sử dụng – Lệnh confirm()

        Lệnh confirm() tạo ra 1 hộp thoại gồm 1 dòng thông báo, nút OK và nút

        Người dùng có thể nhấn OK để thực hiện hành động theo yêu cầu, trong khi nếu chọn Cancel, hộp thoại thông báo sẽ bị đóng lại.

        Thường sử dụng trong các trường hỏi đáp, xác nhận quyết định xử lý thông tin từ phía người dùng

        Cú pháp: confirm("Câu thông báo hỏi ?");

        Ví dụ 6: Tạo trang (HoiDap.html) như sau

        function Hoidap(){ question = confirm("Bạn thật sự muốn truy cập Website") if (question !="0"){ top.location = "http://www.ktkthcm.edu.vn"

        KHOA CÔNG NGHỆ THÔNG TIN 35

        Hãy click vào đây để truy cập website: Trường Cao đẳng Kinh tế Kỹ thuật TPHCM

        Biến, kiểu dữ liệu, biểu thức, toán tử

        Giống như các ngôn ngữ lập trình khác, JavaScript sử dụng biến để lưu trữ các giá trị nhập vào và kết quả tính toán Nói cách khác, biến là vùng nhớ được sử dụng để lưu trữ các giá trị khác nhau trong suốt quá trình hoạt động của chương trình.

        Mỗi biến có một tên, Tên biến trong JavaScript phải bắt đầu bằng ký tự Phạm vi của biến có thể là một trong hai kiểu sau:

        • Biến toàn cục: Có thể được truy cập từ bất kỳ đâu trong ứng dụng Được khai báo: x = 0;

        Biến cục bộ chỉ có thể được truy cập trong phạm vi của chương trình nơi nó được khai báo Để khai báo một biến cục bộ trong hàm, ta sử dụng từ khóa var, ví dụ: var x = 0;

        JavaScript khác với C++ và Java ở chỗ nó là ngôn ngữ định kiểu thấp, cho phép người dùng không cần chỉ định kiểu dữ liệu cho biến Kiểu dữ liệu sẽ được tự động chuyển đổi thành kiểu phù hợp khi cần thiết.

        Ví dụ 1: Tạo trang (DataType.htm) như sau

        var a='Trái Cam '; var nR; n = n + 47; var tb ="Có tất cả " + n + " " + a; document.write(tb);

        KHOA CÔNG NGHỆ THÔNG TIN 36

        Hình 3-2 Kết quả tính tổng

        Trong JavaScript, có bốn kiểu dữ liệu sau đây:

        Số nguyên có thể được biểu diễn qua ba hệ cơ số chính: hệ thập phân (hệ cơ số 10), hệ bát phân (hệ cơ số 8) và hệ thập lục phân (hệ cơ số 16), trong đó hệ thập lục phân thường được ký hiệu bằng hai chữ số đầu tiên là 0x, ví dụ như 0x5F.

         Kiểu dấu phẩy động (Floating Point)

        Một biến có kiểu dấu phẩy động có 4 thành phần sau: Phần nguyên thập phân Dấu chấm thập phân (.) Phần dư Phần mũ

        Kiểu logic được sử dụng để chỉ hai điều kiện : đúng hoặc sai Miền giá trị của kiểu này chỉ có hai giá trị : true , false

        Một biến kiểu chuỗi biểu diễn bởi không hay nhiều ký tự đặt trong cặp dấu " " hay ' '

        Ghi chú: Để biểu diễn dấu nháy kép ( " ), trong chuỗi sử dụng ( \" ),

        Ví dụ 3: document.write(“ \”This text inside quotes.\” ”);

        3.3.3 Lệnh, khối lệnh trong JavaScript

        Các câu lệnh trong JavaScript kết thúc bằng một dấu chấm phẩy (;)

        KHOA CÔNG NGHỆ THÔNG TIN 37

        Một khối lệnh là đoạn chương trình gồm hai lệnh trở lên và được đặt trong cặp ngoặc nhọn: { }

        Bên trong một khối lệnh có thể chứa một hay nhiều khối lệnh khác

        … } // kết thúc khối lệnh 2 lệnh 1.1 lệnh 1.2

        3.3.4 Toán tử & Biểu thức trong JavaScript

        3.3.4.1 Đị nh ngh ĩ a và phân lo ạ i bi ể u th ứ c

        Biểu thức (expression) là tập hợp các biến và toán tử dùng để đánh giá một giá trị cụ thể Có ba kiểu biểu thức cơ bản mà người dùng cần nắm vững.

         Số học: Nhằm để lượng giá giá trị số VÍ Dụ: (3+4)+(84.5/3) bằng

         Chuỗi: Nhằm để đánh giá chuỗi ví dụ: "The dog”+”barked!" là “The dog barked!”

         Logic: Nhằm đánh giá giá trị logic ví dụ: 23>32 là False

        Ngòai ra JavaScript cũng hỗ trợ biểu thức điều kiện, cú pháp như sau:

        Nếu điều kiện condition là đúng, biểu thức nhận giá trị valTrue, ngược lại nhận giá trị là False

        Ví dụ 3: ketqua = (diemtb>=5) ? "Đậu" : "Rớt"

        Trong ví dụ này biến ketqua được gán giá trị "Đậu" nếu giá trị của biến diemtb lớn hơn hoặc bằng 5; ngược lại nó nhận giá trị "Rớt"

        KHOA CÔNG NGHỆ THÔNG TIN 38

        Toán tử được sử dụng để thực hiện một phép toán Được nhóm thành các loại sau đây: gán, so sánh, số học, chuỗi và logic

        Bảng 3-1 Bảng các toán tử

        = Gán giá trị của toán hạng bên phải cho toán hạng bên trái

        == (Bằng)Trả lại giá trị đúng nếu toán hạng bên trái bằng toán hạng bên phải

        != (Khác)Trả lại giá trị đúng nếu toán hạng bên trái khác toán hạng bên phải

        > Trả lại giá trị đúng nếu toán hạng bên trái lớn hơn toán hạng bên phải

        >= (Lớn hơn hoặc bằng)Trả lại giá trị đúng nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải

        < Trả lại giá trị đúng nếu toán hạng bên trái nhỏ hơn toán hạng bên phải

        Nhấp chuột phải (xuất hiện thực đơn ngữ cảnh) -> Chọn Set As Start Page

         Xác định Project khởi động (trong trường hợp Solution có nhiều Project): Chọn Set as StartUp Project từ thực đơn ngữ cảnh

        Hiển thị cửa số Properties Window: Thực đơn View | Properties Window

        Hiển thị Toolbox: Thực đơn View | Toolbox

        Thông qua cửa sổ thuộc tính, chúng ta có thể thiết lập thuộc tính cho trang web và các đối tượng có trong trang web

        KHOA CÔNG NGHỆ THÔNG TIN 76

        Server Controls - Các điều khiển chuẩn

        4.6.1 HTML Control Điều khiển HTML (tag HTML) trong trang ASP.Net có thể xem như những chuỗi văn bản bình thường Để có thể được sử dụng lập trình ở phía Server, ta gán thuộc tính runat="Server" cho các điều khiển HTML đó Những điều khiển HTML (tag HTML) có thuộc tính runat="Server" được gọi là HTML Server Control

        KHOA CÔNG NGHỆ THÔNG TIN 77

        ASP.Net Page là thành phần chính của giao diện trong ASP.Net Web Control, nơi chứa các điều khiển và thể hiện nội dung trang web đến người dùng.

        Sự kiện Page_Init xảy ra đầu tiên khi trang web được yêu cầu protected void MainContent_Init(object sender, EventArgs e)

        //Do not modify it using the code editor

        KHOA CÔNG NGHỆ THÔNG TIN 78

        This event is where most of the processing and initial values for the website are set It occurs every time the website is requested The relevant code for this is: protected void Page_Load(object sender, EventArgs e).

        //Put user code to initialize the page here

        Sự kiện này xảy ra khi trang Web chuẩn bị được trả về cho Client protected void MainContent_PreRender(object sender, EventArgs e)

        The Page_Unload event serves as the final event in the page lifecycle, occurring after all other events have taken place, in contrast to the Page_Init event, which is triggered first when a web page is requested The syntax for handling this event is: protected void MainContent_Unload(object sender, EventArgs e).

        Thuộc tính IsPostBack là một thuộc tính kiểu luận lý, cho biết trạng thái của trang Web khi được tải Nếu đây là lần tải đầu tiên, giá trị của IsPostBack sẽ là False Thuộc tính này thường được sử dụng trong sự kiện Page_Load để kiểm tra trạng thái của trang Web, với cú pháp: protected void Page_Load(object sender, EventArgs e).

        KHOA CÔNG NGHỆ THÔNG TIN 79

        Lb.Text=”Đây là lần đầu tiên”; else

        Lb.Text=”Đây là lần yêu cầu”;

        Khi nội dung trang Web vượt quá kích thước hiển thị và bạn đang đọc ở giữa trang, việc tải lại trang sẽ đưa bạn về phần đầu trang Tuy nhiên, nếu thuộc tính này được đặt là True, trình duyệt sẽ giữ nguyên vị trí bạn đang đọc sau khi tải lại Đây là một thuộc tính kiểu luận lý với giá trị mặc định là False.

        Dưới đây là các lý do bạn nên sử dụng ASP.Net Web Control:

         Đơn giản, tương tự như các điều khiển trên Windows Form

         Đồng nhất: Các điều khiển Web server có các thuộc tính giống nhau -> dễ tìm hiểu và sử dụng

         Hiệu quả: Các điều khiển Web Server tự động phát sinh ra các tag HTML theo từng loại Browser

        KHOA CÔNG NGHỆ THÔNG TIN 80

        Bảng 4-2 Thuộc tính chung của web Control b Label

        Label được sử dụng để hiển thị nội dung trên trang web, với nội dung được xác định qua thuộc tính Text Thuộc tính này có khả năng nhận và hiển thị nội dung cùng với các thẻ HTML.

        Ví dụ về cách sử dụng các điều khiển trong lập trình: lblA.Text hiển thị chuỗi văn bản thường, trong khi lblB.Text thể hiện chuỗi văn bản được in đậm Ngoài ra, điều khiển HyperLink được sử dụng để tạo ra các liên kết siêu văn bản.

        ImageURL: Qui định hình hiển thị trên điều khiển

        KHOA CÔNG NGHỆ THÔNG TIN 81

        Khi cả hai thuộc tính ImageURL và Text được thiết lập, thuộc tính ImageURL sẽ được ưu tiên hiển thị trên điều khiển Thuộc tính Text sẽ được sử dụng để hiển thị dưới dạng Tooltip.

        NavigateUrl: Đường dẫn cần liên kết đến

        Target: Xác định cửa sổ sẽ hiển thị cho mối liên kết

        _blank: Hiển thị trang liên kết ở một cửa sổ mới

        _self: Hiển thị trang liên kết tại chính cửa sổ chứa liên kết đó

        _parent: Hiển thị 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"; d TextBox

        TextBox là điều khiển được dùng để nhập và hiển thị dữ liệu TextBox thường được sử dụng nhiều với các ứng dụng trên windows form

         Text: Nội dung chứa trong Textbox

         TextMode: Qui định chức năng của Textbox, có các giá trị sau:

        SingleLine: Hiển thị và nhập liệu 1 dòng văn bản

        MultiLine: Hiển thị và nhập liệu nhiều dòng văn bản

        Password: Hiển thị dấu * thay cho các ký tự có trong Textbox

         Rows: Trong trường hợp thuộc tính TextMode = MultiLine, thuộc tính Rows sẽ qui định số dòng văn bản được hiển thị

         Maxlength: Qui định số ký tự tối đa được nhập vào cho TextBox

        Thuộc tính Wrap xác định khả năng tự động xuống dòng của văn bản khi kích thước ngang của điều khiển không đủ để hiển thị nội dung Giá trị mặc định của thuộc tính này là True, cho phép văn bản tự động xuống dòng.

        KHOA CÔNG NGHỆ THÔNG TIN 82

        AutoPostBack là thuộc tính xác định liệu điều khiển có được phép tự động gửi dữ liệu về Server khi nội dung trong Textbox thay đổi hay không, với giá trị mặc định là False, tức là không tự động PostBack Điều khiển Image được sử dụng để hiển thị hình ảnh trên trang Web.

         ImageURL: Đường dẫn đến tập tin hình ảnh cần hiển thị

         AlternateText: Chuỗi văn bản sẽ hiển thị khi tập tin được thiết lập trong thuộc tính ImageURL không tồn tại

        ImageAlign: Vị trí hiển thị giữa hình và nội dung văn bản Gồm các giá trị: NotSet, Left, Middle, TextTop, Right f Button, ImageButton, LinkButton

        - Các điều khiển Button, ImageButton, LinkButton mặc định đều là các nút Submit Button, mỗi khi được nhấn vào sẽ PostBack về Server

        - Khi chúng ta thiết lập giá tri thuộc tính CommandName cho các điều khiển này, chúng ta gọi tên chung cho các điều khiển này là Command Button

        Bảng 4-3 Bảng thuộc tính chung Button, ImageButton, LinkButton

        KHOA CÔNG NGHỆ THÔNG TIN 83

        Chúng ta sẽ tìm hiểu 2 thuộc tính CommandName và CommandArgument ở phần sau

        Ngoài những thuộc tính trên, điều khiển ImageButton còn có các thuộc tính ImageURL, ImageAlign và AlternateText như điều khiển Image g Listbox và DropdownList

        ListBox và DropdownList là các điều khiển hiển thị danh sách lựa chọn cho phép người dùng chọn một hoặc nhiều mục (đối với ListBox) Người dùng có thể thêm các mục vào danh sách thông qua lệnh hoặc cửa sổ thuộc tính.

        AutoPostBack là thuộc tính quy định việc điều khiển có cho phép tự động gửi dữ liệu về Server khi chỉ số của mục chọn thay đổi Mặc định, giá trị của thuộc tính này là False, tức là không tự động thực hiện PostBack.

        Items là tập hợp các mục chọn trong điều khiển, cho phép người dùng thêm mục chọn trong quá trình thiết kế thông qua cửa sổ ListItem Collection Editor hoặc bằng lệnh.

         Rows: Qui định chiều cao của ListBox theo số dòng hiển thị

        Thuộc tính SelectionMode trong ListBox xác định phương thức chọn các mục Lưu ý rằng SelectionMode chỉ có thể được thay đổi trong quá trình thiết kế; trong thời gian thực thi chương trình, thuộc tính này chỉ có thể được đọc.

        Single: Chỉ được chọn một mục có trong danh sách (mặc định)

        Multiple: Cho phép chọn nhiều lựa chọn

        Điều khiển GridView

        DataGrid là một công cụ linh hoạt và hiệu quả để hiển thị và thao tác dữ liệu Nó hỗ trợ tốt việc sắp xếp và phân trang dữ liệu, đặc biệt trong quá trình thiết kế với Visual Studio Net.

        4.7.1 Các thao tác định dạng lưới Để thực hiện các thao tác định dạng, chúng ta chọn chức năng Property Builder… từ thực đơn ngữ cảnh a Trang General

        Trong trang này, có các mục chọn sau:

         Show header: Qui định dòng tiêu đề trên có được phép hiển thị hay không (mặc định là có hiển thị dòng tiêu đề)

         Show footer: Qui định dòng tiêu đề dưới có được phép hiển thị hay không (mặc định là không hiển thị dòng tiêu đề dưới)

         Allow sorting: Có cho phép sắp xếp dữ liệu hay không (mặc định là không cho phép sắp xếp) b Trang Columns (Qu ả n lý thông tin các c ộ t)

        Trang Columns quản lý thông tin các cột sẽ hiển thị trên lưới

        Khi chọn chức năng tự động tạo cột tại thời điểm chạy, DataGrid sẽ phát sinh tất cả các cột từ nguồn dữ liệu Nếu bạn muốn xác định các cột cụ thể cần hiển thị, hãy không chọn chức năng này.

        Column list: Qui định các cột được hiển thị trong lưới

        KHOA CÔNG NGHỆ THÔNG TIN 92

         Bound Column: Cột có liên kết với nguồn dữ liệu

         Button Column: Cột dạng nút lệnh đã được thiết kế sẵn Điều khiển DataGrid cung cấp cho chúng ta 3 loại cột dạng này:

        • Select: Nút lệnh chọn dòng dữ liệu

        • Edit, Cancel, Update: Các nút lệnh hỗ trợ chức năng cập nhật dữ liệu trực tiếp trên lưới

        • Delete: Nút lệnh xóa dòng dữ liệu

        Chúng ta sẽ có dịp tìm hiểu kỹ hơn về các nút lệnh này trong phần Cập nhật dữ liệu trực tiếp trên lưới

         Hyperlink Column: Cột có liên kết dữ liệu dạng liên kết

        KHOA CÔNG NGHỆ THÔNG TIN 93

         Template Column: Cột do người dùng tự thiết kế Đây là loại cột có khả năng làm việc khá linh hoạt

        Khi cần hiển thị danh sách khách hàng mà không muốn hiển thị trực tiếp giới tính Nam/Nữ ở cột Phái, bạn có thể sử dụng điều khiển checkbox thay thế Nếu checkbox được chọn, nó sẽ thể hiện phái Nam, và ngược lại Trong trường hợp này, TemplateColumn là sự lựa chọn tối ưu cho bạn.

        Chúng ta sẽ tìm hiểu sâu hơn về Template Column ở phần sau

         BoundColumn properties: Qui định thông tin chi tiết cho các cột

        • HeaderText, Footer Text: Thông tin tiêu đề trên/dưới của cột

        KHOA CÔNG NGHỆ THÔNG TIN 94

        • Header Image: Hình hiển thị trên tiêu đề cột (thay thế thông tin tiêu đề cột - Header Text)

        • Sort Expression: Biểu thức sắp xếp của cột

        • Visible: Qui định cột có được hiển thị hay không

        • DataField: Qui định tên field hay tên thuộc tính của đối tượng dữ liệu cần hiển thị

        • Data formatting expression: Biểu thức định dạng dữ liệu

        Mẫu định dạng: {0:} Ví dụ:

        + Định dạng ngày giờ: {0:dd/MM/yyyy}, {0:hh/mm/ss tt}

        • Read Only: Chọn giá trị này để cột chỉ được phép đọc, không cho phép cập nhật dữ liệu

         Convert this column into a Template Column: Chuyển cột hiện hành thành cột dạng Template Column c Trang Paging (Qu ả n lý phân trang)

        Trang này quản lý việc phân trang của DataGrid

        KHOA CÔNG NGHỆ THÔNG TIN 95

         Allow paging: Có cho phép phân trang hay không

         Page size: Qui định số dòng của mỗi trang

         Show navigation buttons: Có hiển thị bộ nút để di chuyển từ trang này qua trang khác hay không Giá trị mặc định là True

         Possition: Qui định vị trí hiển thị của bộ nút di chuyển Ở phía trên thanh tiêu đề, ở phía dưới hay cả hai

        Chế độ hiển thị của bộ nút di chuyển xác định cách thức hiển thị, có thể là số trang hoặc các chuỗi ký tự như "Tiếp theo" và "Trở lại" Nếu chọn hiển thị dạng số, các nút số sẽ được quy định với số lượng tối đa mà có thể hiển thị.

        Trang Format quản lý việc định dạng hiển thị trên điều khiển DataGrid Các định dạng chung như:

        Màu chữ, màu nền, Font chữ, kích cỡ, in đậm /in nghiêng/gạch dưới và canh lề

        KHOA CÔNG NGHỆ THÔNG TIN 96

         DataGrid: Qui định các định dạng chung cho lưới

         Header: Định dạng cho dòng tiêu đề

         Footer: Định dạng cho dòng tiêu đề dưới

         Pager: Định dạng cho dòng chứa các nút lệnh phân trang

        Normal Items: Định dạng cho các dòng dữ liệu

        Alternating Items: Định dạng hiển thị cho các dòng lẻ

        Selected Items:Định dạng hiển thị cho dòng đang được chọn

        Edit Mode Items: Định dạng hiển thị cho dòng đang ở trạng thái hiệu chỉnh dữ liệu

         Columns: Qui định độ rộng và các định dạng riêng cho từng cột e Trang Borders (Khung vi ề n)

        Trang Borders quản lý việc kẻ khung viền cho lưới

        KHOA CÔNG NGHỆ THÔNG TIN 97

        Hình 4-21 Hình canh chỉnh Borders

        Sắp xếp dữ liệu trên lưới là một công việc cần thiết giúp người dùng dễ dàng tìm kiếm thông tin quan trọng, chẳng hạn như danh sách nhân viên có thâm niên làm việc lâu nhất hoặc số giờ tham gia đề án nhiều nhất Chức năng sắp xếp này tối ưu hóa trải nghiệm người dùng bằng cách cho phép họ nhanh chóng chọn ra các nhân viên phù hợp với yêu cầu Để thực hiện thao tác sắp xếp dữ liệu, cần tiến hành một số bước cụ thể.

        Giá trị thuộc tính Allow sorting = True

        KHOA CÔNG NGHỆ THÔNG TIN 98

        Nhập giá trị cho thuộc tính Sort expression của các cột cần sắp xếp

        Xử lý sự kiện protected void Grid_Sorting(object sender, GridViewSortEventArgs e)

        Trong sự kiện trên, giá trị e.SortExpression cho biết thông tin của cột được chọn sắp xếp

        Ví dụ: protected void Page_Load(object sender, EventArgs e)

        { get { return ViewState["SortDirection"] != null ? ViewState["SortDirection"].ToString() : "ASC"; } set { ViewState["SortDirection"] = value; }

        } void LoadNV(string sortExpression = null)

        DataTable dt = new DataTable(); string str = "SELECT * FROM NHANVIEN"; dt = cls.getTable(str); if (dt.Rows.Count > 0)

        KHOA CÔNG NGHỆ THÔNG TIN 99 if (sortExpression != null)

        DataView dv = dt.AsDataView(); this.SortDirection = this.SortDirection == "ASC" ? "DESC" : "ASC"; dv.Sort = sortExpression + " " + this.SortDirection; this.Grid.DataSource = dv;

        } protected void Grid_PageIndexChanging(object sender, GridViewPageEventArgs e)

        //Chỉ số trang vừa chọn nằm trong e.NewPageIndex

        Grid.PageIndex = e.NewPageIndex;//Đặt lại chỉ số trang vừa chọn

        } protected void Grid_Sorting(object sender, GridViewSortEventArgs e)

        KHOA CÔNG NGHỆ THÔNG TIN 100

        Hình 4-22 Danh sách nhân viên sắp xếp 4.7.3 Xử lý phân trang

        Phân trang dữ liệu không chỉ giúp người dùng dễ dàng xem và tìm kiếm thông tin, mà còn giảm thiểu khối lượng dữ liệu cần truyền tải từ Server đến Client Việc áp dụng phân trang trong quản lý dữ liệu là rất cần thiết để tối ưu hóa hiệu suất và trải nghiệm người dùng.

        Để thực hiện phân trang trong ASP.Net, bạn chỉ cần thực hiện một số thao tác đơn giản Quá trình này bao gồm việc xác định số lượng bản ghi trên mỗi trang và sử dụng các phương thức để lấy dữ liệu theo từng trang một cách hiệu quả.

        Qui định các thông số cần thiết cho việc phân trang (xem Quản lý phân trang ở phần Các thao tác định dạng lưới)

        Xử lý sự kiện PageIndexChanging(object sender, GridViewPageEventArgs e)

        Trong sự kiện trên, giá trị e.NewPageIndex cho biết trang được chọn để hiển thị dữ liệu

        KHOA CÔNG NGHỆ THÔNG TIN 101

        Code C# xử lý: protected void Grid_PageIndexChanging(object sender, GridViewPageEventArgs e) {

        //Chỉ số trang vừa chọn nằm trong e.NewPageIndex

        Grid.PageIndex = e.NewPageIndex;//Đặt lại chỉ số trang vừa chọn

        Kết quả sau khi phân trang:

        Hình 4-23 Kết quả phân trang 4.7.4 Tùy biến các cột

        Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tùy biến các cột trên lưới, cụ thể là hiển thị checkbox thay vì giá trị True/False cho cột giới tính Để thực hiện việc này, bạn cần thực hiện hai giai đoạn sau.

        Trong giai đoạn này, chúng ta có thể tùy biến cột theo yêu cầu cụ thể, sử dụng điều khiển Checkbox để thay thế cho các cột có giá trị luận lý Bên cạnh đó, chúng ta cũng có thể sử dụng điều khiển Image, Image button hoặc Hyperlink để hiển thị hình ảnh thay vì chỉ hiển thị chuỗi đường dẫn đến hình ảnh đó.

        KHOA CÔNG NGHỆ THÔNG TIN 102

        Sau khi hoàn thành giai đoạn thiết kế, chúng ta cần viết các lệnh xử lý để hiển thị dữ liệu theo yêu cầu.

        Bước 1 Thêm mới cột Phái, kiểu Template Column Nhập giá trị Header text, Sort expression cho cột này (nếu cần)

        Hình 4-24 Bổ sung cột phái

        Bước 2 Từ thực đơn ngữ cảnh, chọn Edit Template \ Column[X] –YYY

        (X: Số thứ tự của cột; Y: Chuỗi tiêu đề của cột)

        Chúng ta chọn cột cần hiệu chỉnh

        Bước 3 Thêm điều khiển checkbox chkPhai, vào mục ItemTemplate

        KHOA CÔNG NGHỆ THÔNG TIN 103

        Bước 4 Chọn End Template Editing từ thực đơn ngữ cảnh sau khi thiết kế xong

        Khác với Bound column, cột kiểu Template column không tự động hiển thị dữ liệu

        Để hiển thị dữ liệu từ nguồn dữ liệu trong các điều khiển mới được tạo, cần phải xác định các trường cần hiển thị Do đó, việc viết lệnh xử lý trong sự kiện là cần thiết để đảm bảo dữ liệu được hiển thị theo ý muốn của người dùng.

        Mã lệnh xử lý: protected void grid_RowDataBound(object sender, GridViewRowEventArgs e) { DataRowView row; if (e.Row.RowType == DataControlRowType.DataRow)

        // Tinh trang nam hay nữ

        CheckBox chk = (CheckBox)(e.Row.FindControl("chkPhai"));

        KHOA CÔNG NGHỆ THÔNG TIN 104 if (row["Gioi_Tinh"]==True) chk.Checked=true; else chk.Checkedse;

        Trước khi khám phá các lệnh xử lý trong đoạn mã, chúng ta cần hiểu sự kiện RowDataBound của DataGrid Sự kiện này xảy ra ngay khi phương thức DataBind được gọi, và điều này đòi hỏi chúng ta phải gán nguồn dữ liệu cho lưới trước đó Mỗi dòng dữ liệu sẽ kích hoạt một sự kiện tương ứng.

        4.7.5 Cập nhật dữ liệu trực tiếp trên lưới

        Trong ASP.Net, việc cập nhật dữ liệu trực tiếp trên lưới được hỗ trợ tốt về giao diện Nhiệm vụ của chúng ta là thiết kế các nút lệnh như: Chọn, Sửa/Ghi, Hủy, và viết các lệnh để cập nhật dữ liệu.

        Trong cửa sổ thuộc tính của lưới, chúng ta thiết lập bộ nút lệnh cần thiết để hỗ trợ việc cập nhật dữ liệu Cụ thể, chúng tôi đã tạo ra các nút như (Select - chọn), (Edit - chỉnh sửa), (Update - cập nhật) và (Cancel - hủy).

        Khi sử dụng các nút lệnh như Sửa, Ghi, và Hủy, bạn cần chú ý đến giá trị của thuộc tính CommandName Mỗi nút lệnh sẽ có một giá trị CommandName khác nhau, từ đó giúp bạn viết lệnh xử lý tương ứng với chức năng mà bạn đã chọn.

         Edit, Update/Cancel: Command name = "Edit", "Update"/"Cancel"

        KHOA CÔNG NGHỆ THÔNG TIN 105

        Hình 4-25 Giao diện tạo các lệnh thêm/ xóa/ sửa

        Tìm hiểu về thuộc tính Command Name

        Điều khiển DataList

        4.8.1 Sử dụng DataList để hiển thị dữ liệu

        Giống như DataGrid, điều khiển DataList cũng được sử dụng để hiển thị dữ liệu, nhưng yêu cầu người dùng tự thiết kế hình thức hiển thị dữ liệu, tương tự như Template Column trong DataGrid.

        Một số thuộc tính cần chú ý của DataList:

         RepeatDirection: Qui định hướng hiển thị dữ liệu

        • Horizontal: Hiển thị dữ liệu theo chiều ngang lbmsg.Text = _matv; if (e.CommandName == "New")

        KHOA CÔNG NGHỆ THÔNG TIN 111

        • Vertical (mặc định): Hiển thị dữ liệu theo chiều đứng

         RepeatColumns: Qui định số cột hiển thị của DataList

        Thiết kế hình thức hiển thị cho DataList cũng tương tự như thiết kế cho cột Template Column của DataGrid

        Chọn Edit Template | ItemTemplate từ thực đơn ngữ cảnh để thực hiện thiết kế hình thức hiển thị cho DataList

        Ví dụ: Hiển thị thông tin sách với DataList

        Trong DataList, việc hiển thị dữ liệu được xử lý thông qua sự kiện ItemDataBound, tương tự như cột Template Column trong DataGrid Ngoài ra, các sự kiện nhấn vào Button trong DataList được quản lý qua sự kiện ItemCommand.

        KHOA CÔNG NGHỆ THÔNG TIN 112

        >> DANH MỤC SẢN PHẨM

        Mã:

        Đơn giá

        KHOA CÔNG NGHỆ THÔNG TIN 113

        • Code C# protected void Page_Load(object sender, EventArgs e)

        ClsData cls = new ClsData(); dt = cls.getTable("select * from SANPHAM");

        //dt = Loadproduct_en(changeid().Trim()); if (dt.Rows.Count > 0)

        Kết quả hiển thị thông tin sách trên trang Web

        KHOA CÔNG NGHỆ THÔNG TIN 114

        Hình 4-26 Hiển thị danh sách sản phẩm 4.8.2 Cập nhật dữ liệu với DataList

        DataList không chỉ hiển thị dữ liệu mà còn cho phép cập nhật thông tin Để thực hiện chức năng này, cần thiết kế thêm vùng EditItemTemplate cho DataList.

        Ví dụ Edit trên DataList

        KHOA CÔNG NGHỆ THÔNG TIN 115

        Text='' runat="server" />

        Text='' runat="server" />

        KHOA CÔNG NGHỆ THÔNG TIN 116

        Text='' runat="server" />

        0)

        { rptnv.DataSource = dt; rptnv.DataBind();

        Bài tập áp dụng

        1 Viết chương trình hiển thị danh sách sinh viên từ cơ sở dữ liệu? Khi người dùng chọn vào một 1 sinh viên thì thông tin sinh viên đó hiển thị ở trang chi tiết thông tin sinh viên?

        2 Viết chương trình hiển thị danh sách sản phẩm trên DataList và cho phép phân trang? Khi người dùng muốn xem chi tiết sản phẩm thì click vào tên sản phẩm đó, chuyển trang sang chi tiết sản phẩm?

        KHOA CÔNG NGHỆ THÔNG TIN 126

        Xây dựng và quản lý ứng dụng

        Xây dựng các thành phần truy xuất dữ liệu

        Web Services

  • Ngày đăng: 30/10/2021, 05:24

    HÌNH ẢNH LIÊN QUAN

    Hình 1-3 Mô hình Accelertor - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 1 3 Mô hình Accelertor (Trang 19)
    Hình 3-1 Kết quả hộp thoại hỏi tên người dùng 3.2.5. Hỏi đáp người sử dụng – Lệ nh confirm()  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 3 1 Kết quả hộp thoại hỏi tên người dùng 3.2.5. Hỏi đáp người sử dụng – Lệ nh confirm() (Trang 37)
    Hình 3-3 Kết quả vòng lặp for 3.5. Câu lệnh while, switch, break, continue  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 3 3 Kết quả vòng lặp for 3.5. Câu lệnh while, switch, break, continue (Trang 44)
    Hình 3-8 Kết quả chuyển số thực 3.7. DOM  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 3 8 Kết quả chuyển số thực 3.7. DOM (Trang 53)
    Hình 3-10 Kết quả sử dụng sự kiện 3.8.2. Một số sự kiệ n trong JavaScript  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 3 10 Kết quả sử dụng sự kiện 3.8.2. Một số sự kiệ n trong JavaScript (Trang 60)
    Bảng 3-2 Bảng một số sự kiện trong javascript - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Bảng 3 2 Bảng một số sự kiện trong javascript (Trang 60)
    Hình 4-4 Địa chỉ để nhập vào trang web mới Tạo trang web đầu tiên cho IIS  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 4 Địa chỉ để nhập vào trang web mới Tạo trang web đầu tiên cho IIS (Trang 65)
    Hình 4-9 Quá trình xử lý tập tin ASPX 4.4. Tạo ứng dụng Web trên Visual Studio  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 9 Quá trình xử lý tập tin ASPX 4.4. Tạo ứng dụng Web trên Visual Studio (Trang 73)
    Hình 4-10 Tạo mới poject web - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 10 Tạo mới poject web (Trang 74)
    Hình 4-13 Màn hình Microsoft VisualStudio .Net - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 13 Màn hình Microsoft VisualStudio .Net (Trang 75)
    Hình 4-14 Kết quả chạy lần đầu  4.4.2. Phân loại tậ p tin trong ASP.Net   - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 14 Kết quả chạy lần đầu 4.4.2. Phân loại tậ p tin trong ASP.Net (Trang 76)
    Hình 4-15 cửa sổ Solution Explorer Thao tác với cửa sổ  Solution Explorer   - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 15 cửa sổ Solution Explorer Thao tác với cửa sổ Solution Explorer (Trang 77)
    Hình 4-16 Property/Toolbox 4.6. Server Controls - Các điều khiển chuẩn  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 16 Property/Toolbox 4.6. Server Controls - Các điều khiển chuẩn (Trang 79)
    Bảng 4-2 Thuộc tính chung của web Control - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Bảng 4 2 Thuộc tính chung của web Control (Trang 83)
     ImageURL: Đường dẫn đến tập tin hình ảnh cần hiển thị. - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    mage URL: Đường dẫn đến tập tin hình ảnh cần hiển thị (Trang 85)
    Hình 4-20 Trang Format - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 20 Trang Format (Trang 99)
    Hình 4-21 Hình canh chỉnh Borders - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 21 Hình canh chỉnh Borders (Trang 100)
    Hình 4-22 Danh sách nhân viên sắp xếp 4.7.3. Xử lý phân trang   - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 22 Danh sách nhân viên sắp xếp 4.7.3. Xử lý phân trang (Trang 103)
    Hình 4-23 Kết quả phân trang 4.7.4. Tùy biến các cột   - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 23 Kết quả phân trang 4.7.4. Tùy biến các cột (Trang 104)
    Hình 4-25 Giao diện tạo các lệnh thêm/ xóa/ sửa Tìm hiểu về thuộc tính Command Name   - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 4 25 Giao diện tạo các lệnh thêm/ xóa/ sửa Tìm hiểu về thuộc tính Command Name (Trang 108)
    Thiết kế hình thức hiển thị cho DataList cũng tương tự như thiết kế cho cột Template Column của DataGrid - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    hi ết kế hình thức hiển thị cho DataList cũng tương tự như thiết kế cho cột Template Column của DataGrid (Trang 114)
    Hình 5-3 Thông báo lỗi trang - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 5 3 Thông báo lỗi trang (Trang 143)
    ADỌNET được chia ra làm hai phần chính rõ rệt, được thể hiện qua hình - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    c chia ra làm hai phần chính rõ rệt, được thể hiện qua hình (Trang 146)
    Hình 7-1 Kiến trúc web Services - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 1 Kiến trúc web Services (Trang 164)
    Hình 7-4 Tạo mới WebService - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 4 Tạo mới WebService (Trang 166)
    Hình 7-2: Giao diện sau khi tạo Webservice thành công - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 2: Giao diện sau khi tạo Webservice thành công (Trang 167)
    Hình 7-6 Giao diện nhập tham số kiểm tra WebService - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 6 Giao diện nhập tham số kiểm tra WebService (Trang 169)
    Hình 7-5 Giao diện kiểm tra WebService - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 5 Giao diện kiểm tra WebService (Trang 169)
    Bước 6. Thiết kế màn hình - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    c 6. Thiết kế màn hình (Trang 171)
    Hình 7-9 Kết quả xem danh sách sinh viên qua WebService 7.5. Bài tập  - Giáo trình Xây dựng ứng dụng web (Ngành Hệ thống thông tin)
    Hình 7 9 Kết quả xem danh sách sinh viên qua WebService 7.5. Bài tập (Trang 174)

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

    TÀI LIỆU LIÊN QUAN

    w