(Luận văn) xây dựng ứng dụng website học tập online bằng asp net core

224 7 0
(Luận văn) xây dựng ứng dụng website học tập online bằng asp net core

Đ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

TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU Khoa Công nghệ kỹ thuật - Nông nghiệp công nghệ cao - - lu an n va BÁO CÁO to ie gh tn ĐỒ ÁN TỐT NGHIỆP p Xây dựng ứng dụng Website học tập online oa nl w ASP.Net Core d Trình độ đào tạo : Đại học : Lập trình ứng dụng di động game lm ul Chuyên ngành : Công nghệ thông tin nf va an lu Ngành : 2017-2021 Lớp : DH17LT Sinh viên : Nguyễn Hoàng Thiên Ân GVHD : TS.Phan Ngọc Hồng z at nh oi Khóa học z m co l gm @ an Lu BÀ RỊA - VŨNG TÀU, NĂM 2021 n va ac th si Lời cảm ơn Em xin gửi lời cảm ơn chân thành tri ân sâu sắc thầy cô trường Đại học Bà Rịa- Vũng Tàu, đặc biệt thầy cô khoa Công nghệ kỹ thuật - Nông nghiệp công nghệ cao trường tạo điều kiện cho em làm đồ án tốt nghiệp Và em xin chân thành cảm ơn giảng viên TS.Phan Nhật Hồng nhiệt tình hướng dẫn hướng dẫn em hồn thành đồ án Trong q trình làm đồ án, khó tránh khỏi sai sót, mong thầy, bỏ qua Đồng thời trình độ lý luận kinh nghiệm thực tiễn hạn chế nên báo cáo tránh khỏi lu an thiếu sót, em mong nhận ý kiến đóng góp thầy, để em n va học thêm nhiều kinh nghiệm hoàn thành tốt tn to p ie gh Em xin chân thành cảm ơn! d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN lu an va n gh tn to p ie oa nl w d lu nf va an Ngày tháng năm (Ký ghi rõ họ tên) z at nh oi lm ul GIÁO VIÊN HƯỚNG DẪN z m co l gm @ an Lu n va ac th si Lý chọn đề tài Trong thời đại công nghiệp 4.0 - thời đại hệ thống vật lý không gian mạng internet Nghĩa vật, việc liên quan đến công nghệ thông tin Thời đại công nghiệp 4.0 giúp cho việc tiện lợi thông qua internet, điều giúp cho người tiết kiệm thời gian lại Hiện giới nói chung Việt Nam nói riêng, xuất nhiều website học tập trực tuyến Ở đó, người dùng đăng ký, học khóa học trực tuyến mà không bị phụ thuộc nhiều đến thời gian khóa học Họ học lúc họ muốn miễn giảng cịn tồn hệ thống Hình thức học trực tuyến ngày người hưởng ứng lớn, thời đại cơng nghiệp số hóa lu Để đáp ứng yêu cầu website học tập trực tuyến cần phải đáp ứng nhiều yếu tố liệu lưu trữ, giao diện bắt mắt, dễ sử dụng, … an n va ie gh tn to Nắm bắt xu nay, em định chọn đề tài “Xây dựng webíte học tập trực tuyến Asp.net Core” để làm đề tài cho đồ án tốt nghiệp em p Em thấy Asp.net Core mã nguồn web tốt với C# giúp em việc đa tảng Và Asp.net đứa Microsoft nên hậu thuẫn mạnh mẽ từ plugin Microsoft Sql server d oa nl w nf va an lu Đó lý em chọn đề tài mã nguồn để làm báo cáo cho đồ án tốt nghiệp cảu em z at nh oi lm ul z m co l gm @ an Lu n va ac th si Mục lục CHƯƠNG NGÔN NGỮ C# 1.1 GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH C# 1.2 ĐẶC TRƯNG CỦA NGÔN NGỮ LẬP TRÌNH C# 1.2.1 C# ngôn ngữ đơn giản 1.2.2 C# ngôn ngữ đại 1.2.3 C# ngôn ngữ lập trình hướng đối tượng 1.2.4 C# ngơn ngữ từ khóa 1.3 CÁC ƯU ĐIỂM CỦA NGƠN NGỮ LẬP TRÌNH C# 1.4 ỨNG DỤNG CỦA NGƠN NGỮ LẬP TRÌNH C# 1.4.1 Ứng dụng Windows 1.4.2 Ứng dụng Web CHƯƠNG NỀN TẢNG NET .10 lu an n va p ie gh tn to 2.1 GIỚI THIỆU VỀ NET 10 2.2 CÁC CÔNG NGHỆ NET CHO PHÁT TRIỂN ỨNG DỤNG 10 2.2.1 Công nghệ dựa NET Framework: 10 2.2.2 Công nghệ phát triển ứng dụng mobile: 11 2.2.3 Công nghệ dựa NET Core: 11 2.3 CÁC NỀN TẢNG CÔNG NGHỆ NET 11 2.3.1 .NET Framework 11 2.3.2 .NET Core 11 CHƯƠNG XÂY DỰNG WEBSITE BẰNG ASP.NET CORE 12 d oa nl w 3.1 YÊU CẦU ĐẶT RA 12 3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12 3.2.1 Các đối tượng có Website 12 3.2.2 Các chức hệ thống 12 3.3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14 3.4 ĐẶC TẢ USE-CASE 19 3.4.1 Đăng nhập 19 3.4.2 Đăng xuất 20 3.4.3 Đăng ký 21 3.4.4 Xem tồn khóa học 22 3.4.5 Xem tổng hợp giảng khóa học 23 3.4.6 Đăng ký khóa học 24 3.4.7 Xem danh mục khóa học đăng ký 25 3.4.8 Hủy đăng ký khóa học 26 3.4.9 Xem giảng 27 3.4.10 Download giảng 28 3.4.11 Phản hồi giảng cho người quản trị 29 3.4.12 Xem thông tin cá nhân 30 3.4.13 Chỉnh sửa thông tin người dùng 31 3.4.14 Người dùng đổi mật 32 3.4.15 Thêm khóa học 33 3.4.16 Đăng xuất khỏi hệ thống 34 nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si lu an n va gh tn to 3.4.17 Cập nhật (chỉnh sửa) thông tin khóa học 35 3.4.18 Thêm giảng 36 3.4.19 Chỉnh sửa (cập nhật) giảng 37 3.4.20 Xóa giảng 38 3.4.21 Tổng hợp người dùng 39 3.4.22 Xem tổng hợp phản hồi 40 3.4.23 Phân loại phản hồi 41 3.4.24 Xem phản hồi 42 3.4.25 Xác nhận phản hồi 43 3.4.26 Hoàn thành phản hồi 44 3.4.27 Xóa phản hồi 45 3.4.28 Tổng hợp giảng 46 3.4.29 Reset mật khẩu/ Quên mật 47 3.4.30 Tìm kiếm khóa học/ giảng 48 3.5 XÂY DỰNG CƠ SỞ DỮ LIỆU 48 3.5.1 Các lớp đối tượng có CSDL 48 3.5.2 Mơ hình quan hệ 53 3.6 KẾT QUẢ 54 3.6.1 Các chức User (Người dùng chưa đăng nhập) 54 3.6.2 Các chức User (Người dùng đăng nhập) 60 3.6.3 Các chức Admin 71 3.6.4 Giao diện báo lỗi 78 p ie CHƯƠNG KẾT LUẬN 79 KẾT QUẢ ĐẠT ĐƯỢC 79 HƯỚNG PHÁT TRIỂN 79 nl w 4.1 4.2 oa CHƯƠNG TÀI LIỆU THAM KHẢO 80 d CHƯƠNG PHỤ LỤC .81 lu nf va an 6.1 CODE XỬ LÝ 81 6.1.1 File AdminController.cs 81 6.1.2 File LessonsController.cs 84 6.1.3 File CoursesController.cs 106 6.1.4 File ReportController.cs 129 6.1.5 File UsersController.cs 143 6.1.6 File HomeController.cs 155 6.1.7 File AdminResponsoitory.cs 166 6.1.8 File Courses_Responsitory.cs 168 6.1.9 File Lessons_Responsitory 174 6.1.10 File Report_Responsitory.cs 182 6.1.11 File Users_Responsitory.cs 189 6.1.12 File SeandEmail.cs 195 6.1.13 File Session_.cs 200 6.1.14 File Admin_Model.cs 203 6.1.15 File Courses_Model 204 6.1.16 File CoursesViewModel.cs 206 6.1.17 File ErrorViewModel.cs 206 z at nh oi lm ul z m co l gm @ an Lu n va ac th si lu an n va p ie gh tn to 6.1.18 File Lessons_Model.cs 207 6.1.19 File LessonViewModel.cs 209 6.1.20 File RawCourse_Model.cs 210 6.1.21 File ReportModel.cs 212 6.1.22 File ReportViewModel.cs 212 6.1.23 File StatusReport.cs 214 6.1.24 File Users_Courses_Model.cs 214 6.1.25 File Users_Model.cs 215 6.1.26 File Users_Report.cs 217 6.2 SƠ ĐỒ CẤU TRÚC 218 6.2.1 Xây dựng website bán hàng Asp.net Core 218 6.2.2 Thư mục wwwroot 218 6.2.3 Thư mục Areas 218 6.2.4 Thư mục Controllers 219 6.2.5 Thư mục View 219 6.2.6 Thư mục Migration 220 6.2.7 Thư mục Models 220 6.2.8 Thư mục Services 221 6.3 CÁC EXTEND SỬ DỤNG TRONG WEBSITE 221 6.3.1 Mailkit 221 6.3.2 AspNetCore.Session 223 d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu Chương Ngôn ngữ C# 1.1 Giới thiệu ngơn ngữ lập trình C# C# ngơn ngữ lập trình hướng đối tượng phát triển Tập đồn Microsoft Nó thực hầu hết tính chất tốt mơ hình hướng đối tượng giống ngơn ngữ lập trình Java C# ngôn ngữ Microsoft phát triển dựa ngơn ngữ huyền thoại C++ Java C# làm việc chủ yếu khung NET (.NET framework) Ngơn ngữ lập trình có khả tạo nhiều ứng dụng mạnh mẽ an toàn cho tảng Windows Các thành phần máy chủ, dịch vụ web, ứng dụng di động nhiều khả khác lu 1.2 Đặc trưng ngơn ngữ lập trình C# an 1.2.1 C# ngôn ngữ đơn giản n va 1.2.2 C# ngôn ngữ đại p ie gh tn to C# loại bỏ vài phức tạp rối rắm ngôn ngữ Java c++, bao gồm việc loại bỏ macro, template, đa kế thừa, lớp sở ảo (virtual base class) C# ngơn ngữ lập trình hướng đối tượng d 1.2.3 oa nl w Những đặc tính xử lý ngoại lệ, thu gom nhớ tự động, kiểu liệu mở rộng, bảo mật mã nguồn đặc tính mong đợi ngôn ngữ đại C# chứa tất đặc tính lu nf va an Lập trình hướng đối tượng (OOP: Object-oriented programming) phương pháp lập trình có tính chất Đó tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) tính kế thừa (inheritance) C# hỗ trợ cho tất đặc tính lm ul C# ngơn ngữ từ khóa z at nh oi 1.2.4 C# ngôn ngữ sử dụng giới hạn từ khóa Phần lớn từ khóa sử dụng để mô tả thông tin Một số ưu điểm bật khác C# z • C# có cấu trúc gần gũi với ngơn ngữ lập trình truyền thống, nên dễ dàng tiếp cận học nhanh với C# gm @ l • C# biên dịch nhiều tảng máy tính khác m co • C# xây dựng tảng C++ Java nên thừa hưởng ưu điểm ngơn ngữ an Lu n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu • C# phần NET Framework nên chống lưng lớn đến từ phận • C# có IDE Visual Studio nhiều plug-in vô mạnh mẽ 1.3 Các ưu điểm ngơn ngữ lập trình C# • C# ngôn ngữ gần gũi với ngôn ngữ lập trình thơng dụng C++, Java hay Pascal • C # hỗ trợ cộng đồng nhà phát triển lớn • C# sử dụng để tạo hầu hết ứng dụng 1.4 Ứng dụng ngơn ngữ lập trình C# 1.4.1 Ứng dụng Windows lu Với hỗ trợ khung NET, C# sử dụng để xây dựng ứng dụng desktop Nhiều ứng dụng phổ biến tham khảo Microsoft Office, Skype, Photoshop hay Visual Studio an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul Hình1-1 Ngơn ngữ lập trình C# 1.4.2 Ứng dụng Web z m co l gm @ Ngoài việc xây dựng ứng dụng Windows, C# cịn có khả tạo nhiều ứng dụng web cách sử dụng asp.net C# làm cho ứng dụng web chạy trơn tru máy chủ an Lu n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu Chương Nền tảng NET 2.1 Giới thiệu NET NET tảng (framework) cho phép ngôn ngữ lập trình khác sử dụng để xây dựng ứng dụng phát triển Microsoft Đây tảng thực thi ứng dụng phát triển web chủ yếu hệ điều hành Microsoft Windows lu an n va tn to ie gh Hình 2.1-1 Net p Cốt lõi tảng NET dịng code viết sẵn (bởi lập trình viên Microsoft) mà lập trình viên sử dụng để tạo phần mềm cách nhanh chóng Do đó, tảng NET xem công cụ bổ sung giúp tiết kiệm thời gian xây dựng, triển khai chạy ứng dụng dịch vụ Web d oa nl w lu an 2.2 Các công nghệ NET cho phát triển ứng dụng Công nghệ dựa NET Framework: nf va 2.2.1 z at nh oi lm ul • Phát triển ứng dụng cho Windows desktop: Windows Forms, Windows Presentation Foundation (WPF), Universal Windows Platform (UWP) • Phát triển ứng dụng web: Active Server Page for NET (ASP.NET), bao gồm ASP.NET MVC, ASP.NET Web Forms, ASP.NET WebPages, SignalR • Phát triển ứng dụng phân tán, ứng dụng hướng dịch vụ: Windows Communications Foundation, ASP.NET Web API, ASP.NET Core • Hỗ trợ làm việc với CSDL: ActiveX Data Object for NET (ADO.NET) • Sharepoint z m co l gm @ an Lu 10 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu [Required(ErrorMessage = "Bài giảng không bỏ trống")] [Display(Name = "File giảng")] [DataType(DataType.Upload)] public IFormFile FileLesson { get; set; } [Required(ErrorMessage = "Thumbnail không bỏ trống")] [Display(Name = "Thumbnail giảng")] [DataType(DataType.Upload)] public IFormFile Thumbnail { get; set; } [Required(ErrorMessage = "Link video giảng không bỏ trống")] lu an [Display(Name = "Link video giảng")] n va [StringLength(100)] tn to public string URL_Videos { get; set; } [Display(Name = "File nội dung")] p ie gh public string NameImage { get; set; } w public string NameLessonFile { get; set; } oa nl [Display(Name = "Khóa học")] d public string Course { get; set; } lu nf va an public int CountReport { get; set; } } 6.1.20 z at nh oi lm ul } File RawCourse_Model.cs using Microsoft.AspNetCore.Http; an Lu 210 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN m using System.Linq; co using System.ComponentModel.DataAnnotations; l gm using System.ComponentModel; @ using System.Collections.Generic; z using System; ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu using System.Threading.Tasks; namespace DATN.Models { public class RawCourse_Model { public int Id { get; set; } [Required(ErrorMessage = "Tên khóa học khơng bỏ trống")] [DisplayName("Tên khóa học")] lu public string Name_Course { get; set; } an [Required(ErrorMessage = "Mã khóa học khơng bỏ trống")] va n [DisplayName("Mã khóa học")] ie gh tn to [StringLength(10, MinimumLength = 10, ErrorMessage = "Mã khóa học phải đủ 10 kí tự")] p public string ID_Course { get; set; } w [DisplayName("Ngày mở")] d trống")] oa nl [Required(ErrorMessage = "Ngày mở khóa học khơng bỏ lu nf va an [DataType(DataType.Date)] public string Date_Course { get; set; } lm ul [DisplayName("Hình ảnh khóa học")] trống")] z at nh oi [Required(ErrorMessage ="Hình ảnh khóa học không bỏ [DataType(DataType.Upload)] z @ l gm public IFormFile ImageCourse { get; set; } public string ImageCourseName { get; set; } an Lu 211 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN m } co } ac th si Đồ án tốt nghiệp khóa 2017-2021 6.1.21 Trường Đại học Bà Rịa- Vũng Tàu File ReportModel.cs using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace DATN.Models lu { an public class ReportModel va n { to public string Title { get; set; } p ie gh tn public int Id { get; set; } public string Content { get; set; } oa nl w public StatusReport StatusReport { get; set; } public int StatusReportId { get; set; } d an lu public int Lessons_ModelId { get; set; } nf va public Lessons_Model Lessons { get; set; } set; } } } File ReportViewModel.cs an Lu 212 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN m using System.ComponentModel.DataAnnotations; co using System.ComponentModel; l gm using System.Collections.Generic; @ using System; z 6.1.22 z at nh oi lm ul public virtual ICollection Users_Reports { get; ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu using System.Linq; using System.Threading.Tasks; namespace DATN.Models { public class ReportViewModel { public int Id { get; set; } [DisplayName("Tiêu đề")] lu [Required(ErrorMessage = "Tiêu đề không bỏ trống")] an public string Title { get; set; } va n [DisplayName("Nội dung")] to gh tn [Required(ErrorMessage ="Nội dung không bỏ trống")] public string Content { get; set; } p ie public int StatusReportId { get; set; } nl w [DisplayName("Trạng thái")] d oa public string Status { get; set; } an lu public int Lessons_ModelId { get; set; } nf va [DisplayName("Bài học")] lm ul public string Lesson { get; set; } public int User_Id { get; set; } z at nh oi [DisplayName("Người gửi")] public string User_Email { get; set; } z [DisplayName("Ngày gửi báo cáo")] m an Lu 213 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN co } l } gm public string Date_Report { get; set; } @ [DataType(DataType.Date)] ac th si Đồ án tốt nghiệp khóa 2017-2021 6.1.23 Trường Đại học Bà Rịa- Vũng Tàu File StatusReport.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace DATN.Models lu { an public class StatusReport va n { to ie gh tn public int Id { get; set; } [Required(ErrorMessage ="Trạng thái không bỏ trống")] p [StringLength(50,ErrorMessage ="Trạng thái khơng thể vượt q 50 kí tự")] nl w d oa [DisplayName("Trạng thái")] an lu public string Status { get; set; } public virtual ICollection Reports { get; set; } nf va } 6.1.24 z at nh oi lm ul } File Users_Courses_Model.cs using System; m co l gm using System.Threading.Tasks; @ using System.Linq; z using System.Collections.Generic; 214 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN an Lu namespace DATN.Models ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu { public class Users_Courses_Model { public int Id { get; set; } public int Users_ModelID { get; set; } public Users_Model Users { get; set; } public int Courses_ModelId { get; set; } public Courses_Model Courses { get; set; } } lu } an 6.1.25 File Users_Model.cs va n using System; gh tn to using System.Collections.Generic; p ie using System.ComponentModel; using System.ComponentModel.DataAnnotations; oa nl w using System.Linq; using System.Threading.Tasks; d an lu nf va namespace DATN.Models lm ul { public class Users_Model [Key] z at nh oi { z @ public int ID { get; set; } l gm [Required(ErrorMessage = "Email không bỏ trống")] m co [StringLength(50, MinimumLength = 10 , ErrorMessage = "Email nhỏ 10 kí tự")] an Lu 215 n va SVTH: NGUYỄN HỒNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu [DataType(DataType.EmailAddress, ErrorMessage = "Định dạng Email không hợp lệ")] [DisplayName("E-mail")] public string Email { get; set; } [Required(ErrorMessage = "Password không bỏ trống")] [StringLength(50, MinimumLength = 6, ErrorMessage = "Password nhỏ kí tự")] [DataType(DataType.Password)] [DisplayName("Password")] public string PassWord { get; set; } lu [Required(ErrorMessage = "Số điện thoại không bỏ trống")] an n va [StringLength(10, MinimumLength = 10, ErrorMessage = "Số điện thoại phải có đủ 10 số")] [DisplayName("Số điện thoại")] p ie gh tn to [DataType(DataType.PhoneNumber,ErrorMessage ="Định dạng Số điện thoại không hợp lệ")] w public string PhoneNumber { get; set; } oa nl [Required(ErrorMessage = "Họ không bỏ trống")] d [StringLength(10, MinimumLength = 1)] lu nf va an [DisplayName("Họ")] public string Last_Name { get; set; } lm ul [Required(ErrorMessage = "Tên không bỏ trống")] z at nh oi [StringLength(10, MinimumLength = 1)] [DisplayName("Tên")] z public string First_Name { get; set; } @ set; } l gm public virtual ICollection Users_Reports { get; m co public virtual ICollection Users_Courses { get; set; }} 216 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN an Lu } ac th si Đồ án tốt nghiệp khóa 2017-2021 6.1.26 Trường Đại học Bà Rịa- Vũng Tàu File Users_Report.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace DATN.Models lu { an public class Users_Report va n { to gh tn public int Id { get; set; } p ie public Users_Model Users { get; set; } public int Users_ModelId { get; set; } oa nl w public ReportModel Report { get; set; } public int ReportModelId { get; set; } d an lu [DisplayName("Ngày mở")] trống")] nf va [Required(ErrorMessage = "Ngày mở khóa học khơng bỏ lm ul [DataType(DataType.Date)] z at nh oi public string Date_Report { get; set; } } z } m co l gm @ an Lu 217 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu 6.2 Sơ đồ cấu trúc 6.2.1 Xây dựng website bán hàng Asp.net Core 6.2.2 Thư mục wwwroot lu an n va p ie gh tn to • CSS: chứa file Css sử dụng website • Images: chứa file hình ảnh khóa học giảng upload từ máy tính • Js: chứa file javascripts • Lib: chưa thư viện bootstrap jquery • LogFile: Chứa file nội dung mail soạn sẵn • Docxlog: Chứa file nội dung giảng dạng docx html d oa nl w nf va an lu z at nh oi lm ul z gm @ 6.2.3 Thư mục Areas an Lu 218 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN m • Admin • Courses co l Chứa đối tượng tham gia vào hệ thống website: ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu • Lessons • Report • Users Mỗi thư mục chứa file: Controllers, Views, Data… ➔ Chia đối tượng tham gia vào hệ thống website để dễ dàng xây website theo đối tượng dễ dàng quản lý chức riêng biệt đối tượng lu an n va p ie gh tn to oa nl w d 6.2.4 Thư mục Controllers an lu Chứa file code C# quản lý: nf va Home: Chứa liên quan đến đối tượng users chưa đăng nhập vào hệ thống phần giao diện Users đăng nhập vào hệ thống… Trong HomeController phần code quản lý View như: Index, Login, Register, … z at nh oi lm ul 6.2.5 Thư mục View Chứa file cshtml (file giao diện): z m co l gm @ ➔ Thư mục chứa file giao diện sinh phần HomeController Các file giao diện file giao diện bản, dùng chung cho đối tượng tham gia vào hệ thống website an Lu 219 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu 6.2.6 Thư mục Migration lu an n va 6.2.7 Thư mục Models p ie gh tn to File chứa code quản lý tự động sinh thay đổi Migration update Database d oa nl w nf va an lu z at nh oi lm ul z l gm @ m co Chứa lớp Models sử dụng website Bao gồm Models CSDL ViewModel an Lu 220 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu 6.2.8 Thư mục Services lu an Chứa file code C# chứa dịch vụ có hệ thống va n 6.3 Các Extend sử dụng website to gh tn 6.3.1 Mailkit p ie a Thông tin Mailkit cho phép người dùng gửi mail có tập tin đính kèm d oa nl w b Cách sử dụng mailkit để gửi mail asp.net Bước 1: Thêm Mailkit Nuget package vào project nf va an lu z at nh oi lm ul z m co l gm @ Bước 2: Thêm thư viện MailKit.Net.Smtp MaineKit vào class controller an Lu 221 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu lu Bước 3: Phương thức để gửi Email an n va ie gh tn to p Bước 4: Kết nối đến SMTPClient gửi mail d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ Bước 5: Hoàn tất an Lu 222 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu 6.3.2 AspNetCore.Session a Thông tin Session chế để lưu lại liệu phiên làm việc cho ứng dụng ứng với khách truy cập Để trao đổi liệu từ trang qua trang khác Ví dụ người dùng đăng nhập, thơng tin đăng nhập lưu lại chuyển cho trang khác phiên làm việc để khỏi lần gửi request lại phải đăng nhập, hay người dùng chọn đựa mặt hàng vào giỏ hàng phải nhớ chuyển đến trang toán, … b Cách sử dụng Session để lưu trạng thái hoạt động Bước 1: Thêm Session vào NuGet Package Bước 2: Kích hoạt session ASP.NET lu an n va p ie gh tn to d oa nl w Mở lớp Startup thêm vào phương thức ConfigureServices Configure nf va an lu z at nh oi • ConfigureServices • Configure lm ul code sau: z m co l gm @ Bước 3: Sử dụng Session class controller an Lu 223 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si Đồ án tốt nghiệp khóa 2017-2021 Trường Đại học Bà Rịa- Vũng Tàu Bước 4: Các phương thức ý nghĩa giao diện Isession Ý nghĩa Thuộc tính lấy ID Session, ID có gửi lưu Cookie Member ID Xóa bỏ giá trị lưu Session Clear () Set (String key, Byte []) TryGetValue (String key, Byte []) SetString (String key, String s) Lưu mảng byte vào Session với key Lấy liệu lưu key (trả false có thành cơng) Lưu chuỗi vào key Lấy chuỗi lưu key GetString (String key) Lưu số kiểu int32 vào key lu SetInt32(String key, Int32 val) an Lấy số int32 key n va GetInt32(String key) p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu 224 n va SVTH: NGUYỄN HOÀNG THIÊN ÂN ac th si

Ngày đăng: 17/07/2023, 09:48

Tài liệu cùng người dùng

Tài liệu liên quan