TRUNG TÂM GIÁO DỤC VÀ LUYỆN ĐỀ

LỚP 5 - 6 - 7 - 8

Bài tập


Thực hành (1) Xây dựng ứng dụng quản lý sách (+video)

Qua loạt bài học Razor Pages từ đầu đến giờ bạn đã nắm được rất nhiều kiến thức mới. Giờ là lúc chúng ta vận dụng tổng hợp để giải quyết một bài toán (hơi hơi) thực tế. Bài học này hướng tới củng cố những gì bạn đã học trong những bài học trước đây.

Trong bài học này chúng ta sẽ cùng xây dựng một ứng dụng quản lý sách điện tử đơn giản. Do kiến thức chưa đầy đủ, chúng ta sẽ chỉ xây dựng một phần chức năng của ứng dụng, chủ yếu là chức năng xuất dữ liệu.

Bài toán


Trong bài học này chúng ta sẽ cùng xây dựng một ứng dụng quản lý sách điện tử đơn giản.

Ứng dụng này có thể:

(1) xuất ra danh sách các cuốn sách điện tử (file pdf) đang lưu trong một thư mục trên máy chủ;

(2) thêm một cuốn sách mới;

(3) cập nhật thông tin sách;

(4) xóa bỏ sách.

Nói tóm lại, đây là một ứng dụng CRUD dữ liệu cơ bản và rất phổ biến.

Bạn sẽ lần lượt hoàn thiện ứng dụng này qua các bài thực hành tổng hợp theo lộ trình học và vận dụng những kiến thức học được.

Trong bài thực hành tổng hợp đầu tiên này bạn sẽ xây dựng chức năng thứ nhất: xuất dữ liệu.

Khi kết thúc bài thực hành này bạn sẽ thu được một ứng dụng web đơn giản như sau:


Tạo dự án Razor Pages


Hãy thực hiện các bước như sau để tạo dự án MVC Pages theo template Web Application:

Lưu ý ở đây chúng ta tích chọn thêm hai mục:

(1) Configure for HTTPS: cấu hình để ứng dụng hoạt động với giao thức HTTPS (có mã hóa dữ liệu). Lựa chọn này sẽ tạo ra một chứng chỉ bảo mật (certificate) giả nhằm mục đích thử nghiệm ứng dụng. Khi chạy thử nghiệm, trình duyệt sẽ đưa ra thông báo bảo mật. Bạn hãy chấp nhận đưa site vào danh sách ngoại lệ.

Tạo domain model


Tạo thư mục Model trực thuộc project. Trong thư mục này tạo file Book.cs.

Viết code cho Book.cs như sau:

                            
            using System.ComponentModel;
            using System.ComponentModel.DataAnnotations;

            namespace BookStore.Models
            {
                public class Book
                {
                    public int Id { get; set; }
                    [DisplayName("Tiêu Đề")]

                    public string TieuDe { get; set; } 
                    [DisplayName("Tác giả")]

                    public string TacGia { get; set; } 
                    [DisplayName("Nhà xuất bản")]
                    public string NhaXuatBan { get; set; } 
                    [DisplayName("Năm phát hành")]
                    public DateTime NamPhatHanh { get; set; } 
                    [DisplayName("Mô tả")]
                    public string MoTa { get; set; } 
                }
            }

                
            

Bạn có thể để ý thấy đây là một POCO (Plain-Old-C#-Object) – loại class C# chỉ chứa dữ liệu thuộc các kiểu cơ sở. Bạn phải sử dụng POCO để sau này có thể làm việc với Entity Framework.

Giao diện


Điều chỉnh nội dung của file Index.cshtml như sau:

Đây là một file cshtml thông thường mà bạn đã tiếp xúc nhiều lần. Ở đây chúng ta sử dụng các định dạng css của Bootstrap để giao diện nhìn đàng hoàng hơn một chút.

Giờ đây nếu chạy ứng dụng bạn sẽ thu được kết quả như sau:

Thông tin chi tiết


Chúng ta thực hiện thêm chức năng hiển thị thông tin chi tiết mỗi khi người dùng click vào đường link.

Thêm Controller Books:

Ở phương thức Index thì phương thức này chúng ta sẽ truy vấn dữ liệu của Db bằng phương thức bất đồng bộ và return dữ liệu trả về view Index

chúng ta sẽ thêm View cho dự án như sau :

Ở thư mục view trong mô hình MVC chúng ta sẽ tạo ra các thư mục mang tên tương ứng với Controller và trong những thư mục này sẽ chứa tên cách phương thức mà Controller xử lý tương ứng với view

Kết luận


Qua bài thực hành này bạn đã xây dựng được một phần chức năng của một phần mềm. Bạn đã thấy cách vận dụng những kiến thức đã học vào giải quyết một bài toán cụ thể. Qua những phần thực hành tổng hợp sau chúng ta sẽ lần lượt hoàn thiện ứng dụng theo mức độ kiến thức và kỹ năng học được. Bạn có thể tham khảo video hướng dẫn sau: