ASP.NET MVC 5 là một nền tảng framework để phát triển ứng dụng web theo mô hình MVC được định nghĩa bởi Model-View-Controller.. Giới thiệu mô hình MVC Trong mô hình MVC bao gồm 3 thành
Trang 3Nguyễn Duy Thắng – Lớp 52K2 – Khoa CNTT 3
Nghệ An, tháng 01 năm 2016
LỜI CẢM ƠN
Để hoàn thành đồ án này ngoài sự cố gắng của bản thân em xin gửi lời cảm ơn chân thành đến Khoa Công nghệ Thông tin trong những năm qua đã tạo cơ hội giúp
em đƣợc tham gia học tập, rèn luyện các kỹ năng cần thiết cho đợt làm báo cáo đồ án
tốt nghiệp Đặc biệt em xin gửi lời cảm ơn đến cô giáo giảng viên Th.S Nguyễn Thị Hồng Anh đã quan tâm giúp đỡ, góp ý cho bài báo cáo đồ án tốt nghiệp và sẵn sàng trả lời những thắc mắc khi cần thiết giúp em hoàn thành tốt bài làm của mình
Mặc dù đã có nhiều cố gắng nhƣng do kiến thức còn hạn chế cùng với kinh nghiệm chƣa có nhiều nên không tránh khỏi thiếu sót.Vì vậy em rất mong nhận đƣợc những ý kiến đóng góp bổ sung của thầy cô giáo và các bạn để bài làm báo cáo đồ án tốt nghiệp của em đƣợc hoàn thiện hơn
Sinhviên: Nguyễn Duy Thắng
Trang 4MỤC LỤC
Trang
LỜI CẢM ƠN
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Đặt vấn đề 1
1.2 Lý do chọn đề tài 1
1.3 Đối tượng, mục tiêu nghiên cứu đề tài 1
1.4 Phương pháp nghiên cứu 2
1.5 Ý nghĩa lý luận và thực tiễn 2
CHƯƠNG 2 TÌM HIỂU MÔ HÌNH MVC TRONG ASP.NET 3
2.1 Giới thiệu mô hình MVC 3
2.2 Mô hình MVC 5 trong ASP.NET 5
2.2.1 Giới thiệu tổng quan 5
2.2.2 Lịch sử phát triển 5
2.2.3 Khái quát các thành phần chính trong MVC 5 6
2.2.4 Lợi ích của việc phát triển Web theo mô hình MVC 5 7
2.2.5 So sánh MVC 5 với các mô hình khác 8
2.3 Tìm hiểu cách xây dựng 1 ứng dụng WEB theo mô hình MVC 5 8
2.3.1 Tạo mới 1 project với ASP.NET MVC 5 8
2.3.2 Tìm hiểu định tuyến trong mô hình MVC 5 11
2.3.3 Xây dựng Model 12
2.3.4 Các mô hình lập trình 12
2.3.5 Tìm hiểu Entity Framework Code First 13
2.3.6 Xây dựng View 15
2.3.7 Xây dựng Controllers 19
2.3.8 Truy cập dữ liệu với LINQ 21
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 25
3.1.Khảo sát hệ thống 25
3.1.1 Mục đích của xây dựng trang Web 25
3.2 Phân tích hệ thống 25
3.2.1 Yêu cầu chi tiết về Website 26
Trang 53.2.2 Biều đồ, sơ đồ chức năng 26
3.3 Thiết kế hệ thống 33
3.3.1 Lựa chọn công cụ cài đặt CSDL 33
3.3.2 Thiết kế CSDL 34
3.3.3 Lựa chọn ngôn ngữ, công cụ lập trình 39
CHƯƠNG 4 GIAO DIỆN CHƯƠNG TRÌNH 40
4.1 Phần dành cho người sử dụng 40
4.2 Phần quản trị 43
4.3 Publish Wesite ,upload lên host miễn phí somee.com và đăng ký tên miền thành công cho dự án là http://kutiesshop.somee.com/ 47
KẾT LUẬN 49
TÀI LIỆU THAM KHẢO 50
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề
Ngày nay, công nghệ thông tin ngày càng phát triển và tỏ rõ tầm quan trọng trong tất cả các lĩnh vực, có thể nói công nghệ thông tin đã trở thành thước đo để đánh giá sự phát triển của xã hội hiện đại Nơi mà con người đang dần thoát khỏi cách làm việc thủ công, thô sơ và dần tiến đến tin học hóa trong tất cả các lĩnh vực Cùng với đó
là sự phát triển mạnh mẽ của việc mua bán online Thương mại điện tử phát triển phát triển kéo theo đó là sự xuất hiện các trang web đáp ứng mọi nhu cầu mua bán đặt hàng của người dùng chỉ cần một cái nhấp chuột Các trang web ngày càng bảo mật cao, giao diện sinh động, bắt mắt hỗ trợ trên mọi thiết bị sử dụng internet Một trong những nền tảng giúp cho chúng ta làm được việc này là phát triển web theo mô hình MVC của Microsoft Asp.Net MVC1 được phát hành 13-3-2009 cho đến nay thì Microsoft
đã cập nhật lên Asp.Net MVC 5.Vì vậy việc phát triển website trở nên dễ dàng hơn với tất cả mọi người đam mê lập trình
ASP.NET MVC 5 là một nền tảng framework để phát triển ứng dụng web theo
mô hình MVC được định nghĩa bởi Model-View-Controller Nền tảng Framework khuyến khích lập trình viên lập trình những ứng dụng web với quy mô lớn Mô hình MVC có đặc điểm nổi bật là nhẹ, dễ kiểm thử phần giao diện, tích hợp các tính năng
có sẵn của ASP.NET Việc phát triển website theo mô hình MVC có rất nhiều thuận lợi, được cộng đồng lập trình hỗ trợ mạnh mẽ Bài báo cáo đồ án này sẽ giúp cho chúng ta hiểu rõ được cách xây dựng một dự án website theo mô hình MVC 5
1.2 Lý do chọn đề tài
- Rèn luyện kỹ năng lập trình
- Phù hợp với nhu cầu việc làm của thị trường hiện nay
- Nghiên cứu mô hình MVC chuẩn bị hành trang cho việc phỏng vấn và xin việc sau khi ra trường
1.3 Đối tượng, mục tiêu nghiên cứu đề tài
- Đối tượng nghiên cứu là lý thuyết về mô hình MVC 5
- Mục tiêu là sau khi tìm hiểu xong mô hình MVC 5 là xây dựng Website bán hàng shop trẻ em kutiesshop
Trang 71.4 Phương pháp nghiên cứu
Đọc tài liệu trên mạng, phân tích, tổng hợp tài liệu sau đó áp dụng vào thực tiễn
là xây dựng Website bán hàng shop trẻ em kutiesshop
1.5 Ý nghĩa lý luận và thực tiễn
- Website bán hàng shop trẻ em kutiesshop sẽ đáp ứng, cung cấp đa dạng các sản phẩm về hàng tiêu dùng chăm sóc cho trẻ em từ độ tuổi 3 tháng tuổi đến 10 năm tuổi theo yêu cầu của khách hàng
- Đặt mua hàng nhanh chỉ một cái nhấp chuột
- Khách hàng có thể tìm kiếm tất cả các sản phẩm của cửa hàng một cách nhanh chóng
- Với ứng dụng Google Maps cung cấp đường đi thuận tiện nhất cho khách hàng đến mua bánh tại cửa hàng
- Đăng ký tài khoản nhanh chóng bằng tài khoản Facebook
- Hỗ trợ giao diện mọi loại thiết bị truy cập internet: điện thoại, máy tính bảng, laptop…
Trang 8CHƯƠNG 2 TÌM HIỂU MÔ HÌNH MVC TRONG ASP.NET
2.1 Giới thiệu mô hình MVC
Trong mô hình MVC bao gồm 3 thành phần cơ bản: Model, View và Controller (Hình 1.1):
Model: là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất dữ liệu , đối tượng mô tả dữ liệu như các lớp, hàm
View: là thành phần chứa tất cả các nghiệp vụ hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng giao diện như Textbox, Images Hiểu một cách đơn giản nó là tập hợp các form hoặc các file HTML
Controller: là thành phần giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng Chẳng hạn thành phần này sẽ nhận yêu cầu từ URL và Form để thao tác trực tiếp với Model
Hình 1.1: Các thành phần chính của mô hình MVC
Hoạt động của mô hình MVC:
Người dùng tương tác với bằng cách nhấp chuột vào nút gửi yêu cầu đi
Controller nhận yêu cầu của người dùng, điều hướng, xử lý xây dựng Model phù hợp, chuyển Model cho View
View tiếp nhận Model sinh giao diện phù hợp với Model vừa tiếp nhận
Trang 9Model chứa dữ liệu chia sẻ chung giữu Controller và View
Hoạt động của MVC được mô tả như hình 1.2
Hình 1.2: Tương tác của người dùng với MVC
2.1.1 Đặc điểm của mô hình MVC
Dưới đây là các đặc điểm của mô hình MVC:
- Cái lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ
bảo trì, module hóa các chức năng, và được xây dựng nhanh chóng
- MVC tách các tác vụ của ứng dụng thành các phần riêng lẽ model, view,
controller giúp cho việc xây dựng ứng dụng nhẹ nhàng hơn
- Dễ dàng thêm các tính năng mới, và các tính năng cũ có thể dễ dàng thay đổi,
thay thế
- MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnh hưởng đến
các phần khác
- Tự động nhận diện thiết bị: tự lựa chọn View phù hợp
- Razor: sinh giao diện
- Dễ test: dễ dàng test các Action của các Controller
- NuGet: quản lý các gói mở rộng
Trang 102.2 Mô hình MVC 5 trong ASP.NET
2.2.1 Giới thiệu tổng quan
Như đã nói ở phần trên, mô hình MVC 5 với những ưu điểm đã được ứng dụng nhiều trên các nền tảng framework khác nhau, trong đó có một nền tảng framework nổi tiếng được nhiều người biết đến và sử dụng đó là nền tảng framework ASP.NET MVC 5 ASP.NET MVC 5 là một nền tảng framework phát triển ứng dụng web mới của Microsoft, nó kết hợp giữa tính hiệu quả và nhỏ gọn của mô hình Model-View-Controller (MVC), những ý tưởng và công nghệ hiện đại nhất, cùng với những thành phần tốt nhất của nền tảng ASP.NET hiện thời Là một lựa chọn khác bên cạnh nền tảng WebForm khi phát triển 1 ứng dụng web sử dụng ASP.NET
2.2.2 Lịch sử phát triển
Asp.Net MVC1 : Phiên bản đầu tiên được phát hành vào tháng 3 năm 2009 trên
nền tảng bộ Net Framework 3.5 bộ Visual Studio 2008
Asp.Net MVC2 : Phiên bản này được phát hành vào tháng 3 năm 2010 trên bộ
.Net Framework 3.5 và Net Framework 4.0 bộ Visual Studio 2010
Asp.Net MVC 3 : Phiên bản này được phát hành vào tháng 1 năm 2011 trên nền
tảng bộ Net Framework 4.0, các đặc điểm chính của phiển bản này :
So với phiên bản ASP.NET MVC2 thì tính năng mới được hỗ trợ thêm HTML5 và CSS3; tính năng này chỉ hỗ trợ cho những trình duyệt mới;
Cải thiện về Model validation;
Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi ASP.NET MVC2 chỉ có ASPX;
Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult;
Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần: DependencyResolver và interface IDpendencyResolver)trong ASP.NET MVC3; đây
là lớp thực thi mô hình Service Locator, cho phép framework gọi DIContainer khi cần làm việc với 1 lớp thực thi từ 1 kiểu cụ thể
Cách tiếp cận với JavaScript được hạn chế;
Hỗ trợ caching trong Partial page;
Trang 11Asp.Net MVC4 : Phiên bản này được phát hành vào tháng 8 năm 2012 trên nền
tảng bộ Net Framework 4.0 và Net Framework 4.5 trên phiên bản Visual Studio 2010 SP1 and Visual Studio 2012 Phiên bản này có các đặc điểm chính như sau:
ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện đại và đây là một cải tiến mới thay cho WCF Web API;
Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn;
Mẫu Empty Project là project trống, phù hợp cho những tín đồ developer muốn nâng cao khả năng lập trình với ASP.NET MVC4;
Giới thiệu jQuery Mobile, và mẫu Mobile Project cho dự án;
Hỗ trợ Asynchrnous Controller;
Kiểm soát Bundling và Minification thông qua web.config
Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện DotNetOpenAuth;
Phiên bản mới Windows Azure SDK 1.6 được phát hành;
Asp.Net MVC 5 : Phiên bản này được phát hành vào tháng 10 năm 2013 trên
nền tảng bộ Net Framework 4.5 và Net Framework 4.5.1 trên phiên bản Visual Studio 2013 Các đặc điểm chính của phiên bản này như sau :
Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế mẫu MVC mặc định;
Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp;
Với Filter overrides, chúng ta có thể Filter override trên Method hoặc Controller;
Thuộc tính Routing được tích hợp vào MVC5;
Asp.NET MVC6: Mới đây Sự kiện Visual Studio 2015 vừa ra mắt bản chính
thức vào ngày 29/07/2015 và đi kèm theo đó là phiên bản ASP.NET 5 và MVC 6
2.2.3 Khái quát các thành phần chính trong MVC 5
Như đã giới thiệu ở phần trên, ASP.NET MVC 5 có 3 phần: Model, View, và Controller (Hình 1.3)
Trang 12Hình 1.3: Các thành phẩn chính trong mô hình MVC 5
Model: Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử
lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý
View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images Hiểu một cách đơn giản, nó là tập hợp các form hoặc các file HTML
Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng Chẳng hạn thành phần này sẽ nhận request từ URL và Form để thao tác trực tiếp với Model
2.2.4 Lợi ích của việc phát triển Web theo mô hình MVC 5
Có nhiều nền tảng để lập trình viên có thể lựa chọn để xây dựng và phát triển web Dưới đây là những lợi ích của việc phát triển web theo mô hình MVC 5:
- Lập trình đơn giản với C#
- Ứng dụng tạo ra chạy ổn định trên Windows
- Dễ quản lý nâng cấp
- Đáp ứng nhiều loại thiết bị truy cập
- An toàn
- Dễ tích hợp
Trang 132.2.5 So sánh MVC 5 với các mô hình khác
Bảng 1.1: So sánh MVC 5 với các mô hình làm web Form truyền thống
Các tính năng ASP.NET Web Form ASP.NET MVC 5
Kiến trúc
chương trình
Kiến trúc mô hình:
WebForm->Bussiness ->Database
Kiến trúc phân chia thành:Models,Controllers,Views
Cú pháp chương
trình
Sử dụng cú pháp của WebForm ,tất cả các điều khiển ,sự kiện được xử lý trên server
Các sự kiện được điều khiển bởi Controller
Truy cập dữ liệu
Sử dụng hầu hêt các công nghệ truy cập dữ liệu trong ứng dụng
Phần lớn sử dụng LINQ,SQL class để tạo mô hình đối tượng
Debug
Phải thực hiện tất cả nghiệp vụ bao gồm: các truy cập dữ liệu, sự hiện thị
Debug dễ dàng theo modul, theo Controllers
Tốc độ phân tải
Tốc độ phân tải trang chậm, trong trang có nhiều điều khiển vì ViewState quá lớn
Phân tải trang nhanh hơn do không phải quản lý các ViewState để quản lý các điều khiển trong trang
Tương tác với
JavaScript
Tương tác khó do các Controls được điều khiển bởi Server
Tương tác dễ hơn do các đối tượng không do Server quản lý
URL Address <filename>.aspx?&<các
tham số>
Controllers/Action/ID
2.3 Tìm hiểu cách xây dựng 1 ứng dụng WEB theo mô hình MVC 5
2.3.1 Tạo mới 1 project với ASP.NET MVC 5
Khởi động visual studio 2015 lên và bắt đầu thực hiện theo các bước sau:
Bước 1: Nhấp chuột vào File tiếp đến chọn New màn hình sẽ hiện thị lên danh sách rồi nhấp chuột tiếp vào Project (Xem hình 1.4)
Trang 14Hình 1.4: Màn hình khởi động của dự án
Bước 2: Tiếp tục lựa chọn ngôn ngữ là Visual C# rồi chọn web và nhấp vào
ASP.NET Web Application Sau đó tiếp tục chọn tên cho dự án, chọn nơi lưu trữ dự
án rồi nhấn OK (Xem hình 1.5)
Hình 1.5: Màn hình ASP.NET Web Aplication
Trang 15Bước 3: Tiếp tục chọn MVC rồi nhấn Ok (Xem hình 1.6)
Hình 1.6: Màn hình chọn mô hình MVC
Bước 4: Bạn có thể đăng nhập vào tài khoản Microsoft để lưu trữ dự án trên internet Nếu không thì nhấn Cancel (Xem hình 1.7)
Hình 1.7: Màn hình chọn nơi lưu trữ
Trang 16Đưới đây là giao diện khi đã tạo thành công dự án MVC 5(Hình 1.8 )
Hình 1.8: Màn hình thành công
2.3.2 Tìm hiểu định tuyến trong mô hình MVC 5
ASP.NET MVC5 Framework có một bộ máy ánh xạ URL mạnh mẽ Bộ máy này cung cấp các phương pháp rất linh hoạt trong việc ánh xạ URL sang cho Controller Bạn có thể dễ dàng định ra các quy luật ánh xạ, cài đặt để ASP.NET MVC dựa vào các quy luật ánh xạ đó, xác định xem phải thực thi Controller nào ASP.NET MVC 5 còn có khả năng phân tích URL, chuyển các thông số trong URL thành các tham số trong phần gọi hàm của Controller
Đường đi mặc định từ ASP.NET MVC URL đến Controller Class
Trình duyệt yêu cầu một địa chỉ từ Controller action trong ASP.NET MVC 5 Framework được gọi là định tuyến URL URL sẽ chỉ định yêu cầu (request) tới Controller action URL sử dụng một bảng định tuyến để điều khiển các yêu cầu (request) Khi ứng dụng chạy lần đầu tiên, phương thức Application_Start() được gọi Phương thức này gọi một phương thức khác RegisterRouter (RouteTable.Router) để tạo bảng định Định tuyến mặc định chia một yêu cầu (request) thành 3 đoạn, mỗi phân đoạn nằm giữa 2 dấu “/” Phân đoạn đầu tiên chứa một Controller, phân đoạn thứ 2 chứa Controller Action, phân đoạn thứ 3 là tham số đầu vào của Controller Action.( Xem hình 1.9)
Trang 17Hình 1.9: Định tuyến trong mô hình MVC 5
Bảng định tuyến được tạo khi ứng dụng được chạy lần đầu tiên Bảng định tuyến được thiết lập trong file Global.asax (Hình 1.10)
Hình 1.10: Khởi tạo bảng định tuyến
2.3.3 Xây dựng Model
2.3.4 Các mô hình lập trình
Xây dựng web theo MVC 5 có 3 mô hình để người lập trình lựa chọn và phát triển đó là: Database First, Model First, Code First ( Xem hình 2.0)
Trang 18Hình 2.0: Các mô hình MVC
2.3.5 Tìm hiểu Entity Framework Code First
- Đầu tiên để làm việc với Entity Framework một cách hoàn chỉnh chúng ta phải cài đặt thêm Entity Framework bản mới nhất từ NuGet:
ƣớc 1 tạo Project mới:
B2 Cài EF Power Tools vào Visual Studio: Tools -> Library Paskage Manager -> Manage NuGet Packages for Solution…
Hình 2.1 Màn hình cài đặt Nuget packages
Trang 19- Bên trái chọn online Nhập Entity Framework Power Tools vào khung Search (góc trên, bên phải) chọn Entity Framework Power Tools -> Install Khi đã cài được, bạn chuột phải trên tên Project sẽ thấy có menu Entity Framework
Code First tức là bạn phải code sau đó sinh Database từ code đó Nhưng Database tạo ra như thế sẽ ít thuộc tính: ràng buộc, identity, unique Giải pháp là tạo
1 database hoàn chỉnh trên SQL sau đó viết code để map CSDL với Entity của chúng
ta
Trước hết tạo ra các class mô tả các bảng trong CSDL của chúng ta, nó bao gồm các trường và thuộc tính, kiều của chúng, trong đề tài sẽ có 10 class trong Model tương ứng với 11 bảng trong CSDL bao gồm: AboutModels.cs, AdminModel.cs, AdvertisementModel.cs, ArticleModel.cs, CategoryModels.cs, ProductModels.cs, VideoclipModels.cs, VisitorStatisticsModels.cs
Hình 2.2: Các class trong lớp model
Sau đó 1 class OnlineShopDbContext - là class quản lý tất cả các bảng và giao tiếp với Entity, nó tương tự như class DataContext trong LINQ to SQL
Trang 20Hình 2.3: Class OnlineShopDbContext.cs Trong App.config ta thiết đặt ConnectionString để class OnlineshopDbConext liên kết với CSDL đã có sẵn
Hình 2.4: chuỗi kết nối ConnectionString
2.3.6 Xây dựng View
Tìm hiểu boostrap trong xây dựng dao diện Web
Trang 21Bootstrap là một framework HTML, CSS, và JavaScript cho phép thiết kế phát
triển responsive web mobile
Những điểm thuận lợi khi sử dụng Boostrap:
- Rất dễ sử dụng: Nó đơn giản vì được hình trên HTML, CSS và Javascript chỉ cẩn có kiến thức cơ bản về 3 cái đó là có thể sử dụng bootstrap tốt
- Tính năng Responsive: Bootstrap xây dựng sẵn reponsive css trên các thiết
bị di động, máy tính bảng, laptop
- Mobile: Trong bootstrap3 mobile-first styles là một phần của framework
- Tương thích với các trình duyệt: Nó tương thích với tất cả các trình duyệt
(Chrome, Firefox, Internet Explorer, Safari, and Opera) nhưng lưu ý vì IE vẫn kén với
IE phiên bản cũ vì thế việc IE9 hay IE8 đổ xuống không hỗ trợ là chuyện bình thường Các bạn có dùng nên lưu ý điểm này theo như mình tham khảo thì nó hỗ trợ tuyệt vời trên IE10 đổ lên nhé, thấp nhất có lẽ là IE9 thôi còn IE8 thì không nên dùng
- Dễ download: Vào trang http://getbootstrap.com/ tải về và thêm vào dự án
Trang 22Hình 2.5: Sử dụng bootstrap để xây dựng form đăng nhập
<div class=” form-horizontal “></div>
<div class="form-group"><input type="password" class="form-control" id="txtpassword"
placeholder="Password">
<div class="form-group"><input
type="submit" class="btn
btn-default
" id="txtpassword"
placeholder="Password">
Trang 23btn btn-default btn btn-success btn btn-warning
btn btn-primary btn btn-infor btn btn-danger btn btn-link
Hình 2.6: Sử dụng bootstrap cho các button
Trong quá trình xây dựng giao diện thì ta cũng có thể thêm vào các Icon để cho giao diện trở nên bắt mặt người dùng hơn Sử dụng các icon cũng có thể thay cho lời mình muốn hướng dẫn người dùng Ta có thể tài về bộ thư viện Font-Awesome hoặc glyphicon bootstrap Địa chỉ tải:
Font-Awesome: https://fortawesome.github.io/Font-Awesome/
glyphicon boostrap: http://getbootstrap.com/components/
Sau khi tải về thì sử dụng như file css Chỉ cần nhớ các Class thì ta có thể sử dụng được nó rồi Các icon có đầy đủ các kích thước cũng như đầy đủ các hình mà lập trình viên muốn sử dụng (Hình 3.6)
Trang 24<span class=" glyphicon glyphicon-asteris " aria-hidden="true"></span>
Trang 25Tên dự án Tên controllers Tên kiểu dữ liệu trả về Tên phương thức
Hình 2.9: Các thành phần chính của Controller Các kiểu dữ liệu trả về được liệt kê ở Bảng 1.2
Bảng 1.2: Các kiểu dữ liệu trả về
Các kiểu trả về Mục đích
ViewResult Hiển thị một View mới hoặc trang mặc định
PartialViewResul Trả về một View mới hoặc mặc định cục bộ
RedirectToRoute Result Trả về một Action method mới
RedirectResult Chuyển tới một địa chỉ khác
JsonResult Chuyển đổi một đối tượng sang kiểu Json và trả
về như một phản hồi
JavaScriptResult
Gửi một đoạn mã nguồn JavaScript cần phải được thực hiện bởi trình duyệt Đây chỉ dùng để sử dụng trong các kịch bản Ajax
EmptyResult Không trả về cái gì
Trang 262.3.8 Truy cập dữ liệu với LINQ
LINQ được thiết kế cho mục đích đơn giản hóa và thống nhất thực hiện truy vấn các loại dữ liệu khác nhau mà không cần quan tâm đến kiểu lưu trữ của dữ liệu Các mô hình lập trình với LINQ
Lập trình LINQ to Object
LINQ to Objects được thiết kế để truy vấn các đối tượng trong bộ nhớ như mảng và danh sách Nội dung:
- Truy vấn các phần tử của mảng
- Truy vấn các phân tử của danh sách
- Truy vấn các phần tử của danh sách:
Lớp List dùng để lưu trữ các phần tử của một danh sách
Khai báo: List <T> <variable> Trong đó <T> là kiểu dữ liệu và
<variable> là một biến có kiểu danh sách
Một số phương thức sử dụng để thao tác với cơ sở dữ liệu:
- Add(): Tạo một phần tử cuối danh sách
- Clear(): Xóa tất cả các phân tử của danh sách
- Insert(): Chèn phần tử ở vị trí chỉ ra
- Remove(): Xóa phần tử đầu tiên của giá trị chỉ ra
- RemoveAt(): Xóa phần tử ở vị trí chỉ ra trong danh sách
- Sort(): Sắp xếp danh sách
Lập trình LINQ to SQl
Mô hình đối tượng LINQ to SQL tương ứng với các đối tượng của cơ sở dữ liệu:
- Entity class tương ứng với Table/View
- Class member tương ứng với Column
- Association tương ứng với Foreign-key relationship
- Method tương ứng với Stored Procedure or Function
Lớp thực thể biểu diễn một bảng của dữ liệu Lớp thực thể được định nghĩa bằng thuộc tính Table: [Table(Name = <table name>)] trong đó <table name> là tên bảng dữ liệu Nếu không chỉ ra tên bảng dữ liệu thì tên bảng là tên lớp thực thể
Trang 27[Table("TaiKhoan")]
public class TaiKhoan
{
[Key]
public long MaTK { get; set; }
public string HoTenTK { get; set; }
public DateTime? NgaySinh { get; set; }
}
Lập trình LINQ to Entities
Các thƣ viện của LINQ (Bảng 1.3)
Bảng 1.3: Các thƣ viện của LINQ
System.Linq Chứa các lớp và các giao diện cho truy vấn LINQ
System.Data.Linq Chứa các lớp làm việc của LINQ to SQL
System.Data.Entities Chứa các lớp làm việc của LINQ to Entities
System.Xml.Linq Chứa các lớp làm việc của LINQ to XML
System.Data.Objects Chứa các lớp làm việc của mô hình dữ liệu thực thể
ADO.NET
Truy vấn cơ bản
Các kiểu truy vấn cơ bản (Bảng 1.4)