Tải bản đầy đủ (.pptx) (36 trang)

Chủ đề 6. THIẾT KẾ, LẬP TRÌNH VÀ XUẤT BẢN ỨNG DỤNG WEB DATABASE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (963.03 KB, 36 trang )

TRƯỜNG ĐẠI HỌC NHA TRANG

THIEÁT KEÁ VAØ LAÄP TRÌNH WEB

Chủ đề 6. THIẾT KẾ, LẬP TRÌNH VÀ XUẤT BẢN ỨNG DỤNG WEB DATABASE

1


NỘI DUNG:

1.

Quản lý trạng thái (Query String, Session)

2.

Master Page

3.

Ứng dụng web database và các phần chức năng cơ bản

2


1. QUẢN LÝ TRẠNG THÁI

1.1 Query String

-Query string dùng để chuyển thông tin giữa các trang web với nhau.


-Query string là phần của URL được thêm vào trang web, sau dấu chấm hỏi
-Một URL request như sau:
/>
-Ý nghĩa:
Gởi id có giá trị là 10 cho trang detail.aspx

-Để lấy thông tin của query string của trang web, sử dụng Request.QueryString[]

3


Ví dụ:

-

Tạo một ứng dụng truy cập CSDL QUANLYSACH gồm 2 trang:



Loai_Sach.aspx: hiển thị tên tất cả các loại sách có trong database, với mỗi loại sách tạo url dạng querystring với id của loại sách đó, user kích vào
sẽ mở ra trang SachDS.aspx cho phép xem chi tiết loại sách đó gồm những sách nào.



SachDS.aspx: lấy id từ querystring, đọc CSDL Sách và trả về chi tiết tất cả thông tin của nó.

4


Nạp danh sách loại sách trong sự kiện Page_Load ở trang LoaiSach.aspx:


string connStr = "Data Source=(local);Initial Catalog=QUANLYSACH;user=sa;pwd=abc";
SqlConnection conn=new SqlConnection (connStr );
conn.Open();
SqlCommand cmd=new SqlCommand ("SELECT * FROM LOAISACH", conn);
SqlDataReader reader;
string str="";
reader = cmd.ExecuteReader();
while (reader.Read())
{
str = string.Format("<a href=SachDS.aspx?MaLoaiSach={0}>{1}</a>


", reader["MaLoaiSach"], reader["TenLoaiSach"]);

lblLoaiSach.Text = lblLoaiSach.Text + str;
}

5


Hiển thị sách khi chọn một loại sách bất kỳ trong sự kiện Page_Load ở trang SachDS.aspx:

string maLS = Request.QueryString[“MaLoaiSach”]
GridSach.DataSource = Sach_DS(maLS);
GridSach.DataBind();
//GridSach là một GridView
//Sach_DS là một hàm chứa danh sách sách

6



Bài tập tình huống:

-

Thêm vào cơ sở dữ liệu đang sử dụng 1 bảng dữ liệu như sau: NGUOIDUNG(TenDN, MatKhau)

-

Thêm vào website một trang web có giao diện như sau:

-

Nếu đăng nhập thành công thì chuyển đến một trang web nào đó, ngược lại thông báo lỗi.

7


Hàm kiểm tra đăng nhập:
bool KiemTraDN(string TenDN , string MatKhau)
{
string str ="Data Source=(local);initial catalog=TH55; user=sa;pwd=abc";
SqlConnection dbCon= new SqlConnection(str);
dbCon.Open();
SqlCommand cmd= new SqlCommand("SELECT * FROM

NGUOIDUNG WHERE TenDN='" + TenDN + "' AND MatKhau='"+ MatKhau + "'",

dbCon);

SqlDataReader reader= cmd.ExecuteReader();
if (reader.HasRows)
return true ;
else
return false ;
}
8


Code xử lý sự kiện nút lệnh Đăng nhập:
if (KiemTraDN(txtTenDN.Text, txtMatKhau.Text) == true)
Response.Redirect("Loai_Sach.aspx");
else
lblTB.Text = "Thông tin đăng nhập không chính xác!";

9


1.2 Session

User 2

User 1

Session: user 1
Session: user 2
Session: user 3

User 3


10


Session là gì?

-

Khái niệm phiên làm việc:





Mỗi khi user request một trang web lần đầu tiên thì phiên làm việc được tạo ra.
Một nhận dạng phiên làm việc được cấp bởi server
Phiên làm việc kết thúc khi

• Người lập trình hủy
• Kết thúc cycle life
• User đóng trình duyệt
-

Phiên làm việc là cách thức trau đổi/chia sẻ dữ liệu giữa các trang web trong Web app.

11


-

Cho phép lưu trữ dữ liệu kiểu .NET


-

Thời gian sống kết thúc sau một khoảng thời gian định nghĩa trước (thường là 20 phút, có thể thay đổi, hoặc lập
trình hủy)

-

Tính bảo mật cao, do dữ liệu lưu trữ trên server, không bao giờ chuyển cho client và mỗi client có client session
id riêng

-

Lưu trữ session với dữ liệu lớn cũng có thể làm chậm server, đặc biệt nếu nhiều người truy cập đồng thời, do mỗi
user sẽ có bản copy session riêng!

12


-

Mỗi user sẽ được gán một giá trị gọi là Session id, giá trị này là duy nhất

-

Thời gian sống của session có thể thiết lập thông qua web.config

<configuration>
<system.web>
<sessionState timeout="10" />

</system.web>
</configuration>

13


2. MASTER PAGE

-Master page định nghĩa một khuôn mẫu chung cho phép áp dụng cho nhiều trang trong web site
-Content page là web form có sử dụng master page

Master Page

Content Page

14


Cách thức Master Page làm việc:

-

Master page định nghĩa cấu trúc cơ bản của trang



-

Bao gồm các thành phần chung như header, footer, menu…


Master page có thể chứa các content region nơi mà nội dung mới có thể được thêm vào.
Một content page sẽ có tất cả các thành phần cố định từ một master page, và có thể bổ sung tùy ý vào các content region

15


Ví dụ:

16


Cú pháp của Master page:

-

Tạo trang master page



-

Directive: <%@ master %>
Xây dựng các phần nội dung chung cho toàn site



-

Phần mở rộng là .master


Header, footer, menu, layout…

Tạo các vùng placeholder control cho nội dung, mà các trang sẽ tùy biến bổ sung vào!

17


Cú pháp của Content page:

-

Đối với những trang .aspx




Tham chiếu đến master page trong directive
Xây dựng nội dung cho các phần placeholder control đã tạo trong master page.



Thiết kế phần Content control, mỗi trang sẽ có nội dung riêng





Có thể có nhiều vùng content control, tùy theo cách thiết kế master page

Ánh xạ các content control này vào placeholder trong master page.


18


Kết hợp Master Page và Content Page

-

Trang master định nghĩa nội dung chung
Content page tham chiếu đến master và đưa nội dung vào các placeholder

19


Cách tạo Master Page

20


Mặc định site.master có dạng sau:

21


-

Ta thiết kế lại site.master




Thêm table vào, chia làm các phần header,left, main content và footer

22


3. ỨNG DỤNG WEB DATABASE VÀ CÁC PHẦN CHỨC NĂNG CƠ BẢN
(Xây dựng ứng dụng website thương mại điện tử)

-

Xác định đối tượng người sử dụng để xác định giao diện tương ứng: tiếng Anh, tiếng Việt, …
Xây dựng CSDL tương ứng
Quản lý thông tin công ty/tổ chức
Quản lý tin tức
Quản lý, giới thiệu và đánh giá sản phẩm (xe máy, quần áo, điện thoại, máy ảnh, …)
Chức năng tìm kiếm: tên, đơn giá, …
Giỏ hàng
Đặt hàng

23


Phần quản trị (Admin) website:

• Xử lý đặt hàng
• Xử lý giao hàng
• Quản lý tài khoản khách hàng
• Quản lý kênh đặt hàng
• Quản lý giao dịch thanh toán trực tuyến
• Các chức năng thống kê, tổng hợp

•…

24


Xây dựng cơ sở dữ liệu cho website TMĐT

-

Tùy theo ngữ cảnh, quy mô, chức năng, … của doanh nghiệp mà CSDL có thể có các bảng dữ liệu khác nhau.

-

Tuy nhiên, các bảng chính phải có trong CSDL website TMĐT để quản lý các thông tin là: Nhân viên, khách hàng, loại sản
phẩm, sản phẩm, giỏ hàng, chi tiết giỏ hàng, hình thức thanh toán.

-

Có thể quản lý thêm thông tin doanh nghiệp/công ty, tin tức, dịch vụ hỗ trợ trực tuyến.

25


×