mvc4 seminar - hoclaptrinhweb.com - tài liệu nhất nghệ
TRANSCRIPT
![Page 2: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/2.jpg)
Giới thiệu MVC4 Entity Framework
Ánh ạ thự thể vào CSDL EF API – giao tiếp lập trình EF
Xây dự g ứ g dụ g CRUD với mô hình Code-First Truy vấ dữ liệu với linq
Trình bày hàng hóa Trình bày hàng hóa dạ g master-details Phân loại hàng hóa Tìm kiế hàng hóa Phân trang hàng hóa Thố g kê doanh số
Kiể lỗi dữ liệu
![Page 3: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/3.jpg)
MVC Pattern Model Controller View
MVC Frameworks Java: “t uts, J“F, “p i g… PHP: Zend ASP.NET: MVC
![Page 4: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/4.jpg)
Controller
Nhậ yêu ầu từ user
Xử lý yêu ầu và khỏi tạo Model
Chu ể Model cho View
View
Tiếp hậ Model từ Controller
Sinh giao diệ phù hợp
Model
Chứa dữ liệu chia sẻ chung giữa Controller và View
![Page 5: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/5.jpg)
Razor: ơ hế sinh giao diệ linh hoạt và hiệu uả Action Filter: dễ dàng xây dự g ộ lọ hành độ g Dynamic Language: Tùy thích sử dụ g thuộ tính mã
không ầ đị h ghĩa t ướ Ajax: Cải thiệ Ajax Kiểm lỗi: Tă g ườ g khả ă g kiể lỗi với JQuery Mobile: Bổ sung thể loại dự án Mobile Web API: xây dự g thư việ web giao tiếp json dùng
cho hiều loại thiết ị DI (Dependence Injection): tă g tính độ lập cho các
thành phầ trong ứ g dụ g NuGet: uả lý các gói ở ộ g
![Page 6: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/6.jpg)
![Page 8: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/8.jpg)
![Page 9: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/9.jpg)
Create
Read
Update
Delete
![Page 10: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/10.jpg)
![Page 11: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/11.jpg)
![Page 12: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/12.jpg)
![Page 13: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/13.jpg)
Giai đoạ 1: Ánh ạ (Mapping)
Xây dự g Entity Class: liên kết với Table
Xây dự g DbContext: liên kết Database
Giai đoạ 2: Lập trình (EF API)
Thêm
Xóa
“ửa
Xem
![Page 14: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/14.jpg)
Hàng hóa
Loại hàng
Nhà cung ấp
![Page 16: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/16.jpg)
Bướ 1: Tạo các Entity Class
Mỗi lớp ánh ạ đế ấu trúc 1 ả g trong CSDL
Bướ 2: Tạo DbContext Class
Liên kết các thự thể với CSDL
Bướ 3: Khai báo huỗi kết ối Khai báo huỗi kết ối CSDL trong web.config
![Page 17: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/17.jpg)
![Page 18: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/18.jpg)
Các thuộ tính ánh ạ với các ột
Tên thự thể (số it), tên ả g số hiều
Thự thể liên kết
![Page 19: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/19.jpg)
Các thuộ tính ánh ạ với các ột
Tên thự thể (số it), tên ả g số hiều
Thự thể liên kết
![Page 20: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/20.jpg)
Các thuộ tính ánh ạ với các ột
Tên thự thể (số it), tên ả g số hiều
Thự thể liên kết
![Page 21: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/21.jpg)
Tên lớp DbContext (MVC4SeminarDB) cùng tên với huỗi kết ối để EF tự độ g hậ iết.
![Page 23: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/23.jpg)
![Page 24: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/24.jpg)
![Page 25: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/25.jpg)
![Page 26: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/26.jpg)
Khởi tạo đối tượ g DbContext MVC4SeminarDB
Create (thêm ới ột nhà cung ấp) db.Suppliers.
Read: (truy vấ ột hoặ hiều nhà cung ấp) var supplier= db. Suppliers. var suppliers= db. Suppliers;
Update: (Cập hật ột nhà cung ấp) db.
Delete: (xóa ột nhà cung ấp) db. Suppliers.
Lưu sự thay đổi db.
![Page 27: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/27.jpg)
![Page 28: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/28.jpg)
Ứ g dụ g CRUD
Trình bày hàng hóa
Master-Details với chi tiết hàng hóa
Hiể thị menu loại hàng
Hiể thị menu nhà cung ấp
![Page 30: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/30.jpg)
Select(e=>đối tượ g) Chọ thự thể
Where(e=>điều kiệ ) Truy vấ hiều thự thể theo điều kiệ
OrderBy(e=> iểu thứ ) “ắp ếp các thự thể theo iểu thứ
GroupBy(e=> iểu thứ ) Nhóm các thự thể theo iểu thứ
Take(số thự thể - n) Truy vấ n thự thể đầu tiên
Skip(số thự thể - n) Truy vấ các thứ thể sau n
Sum(e=> iểu thứ ), Average(e=> iểu thứ … Tổ g hợp số liệu
![Page 31: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/31.jpg)
Phân trang hàng hóa
db.Products.ToList().Skip(10).Take(6);
“ắp ếp hàng gẫu nhiên
db.Products.OrderBy(p => Guid.NewGuid());
Truy vấ hàng theo loại db.Products.Where(p => p.CategoryId == CategoryId);
Truy vấ hàng theo nhà cung ấp
db.Products.Where(p => p.SupplierId == SupplierId);
Truy vấ hàng theo tên
db.Products.Where(p => p.Name.Contains(Search));
![Page 32: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/32.jpg)
Thố g kê thông tin hàng hóa theo loại và nhà cung ấp
Nhóm hàng hóa: GroupBy()
Tổ g hợp số liệu theo nhóm: “u , Ave age …
![Page 33: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/33.jpg)
Lấ 3 ặt hàng gẫu nhiên
Phân trang hàng hóa
Tìm kiế hàng hóa
Thố g kê thông tin hàng hóa
![Page 35: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/35.jpg)
Kiể soát tính hợp lệ ủa dữ liệu đầu vào và các request giả
Các thành phầ liên quan
Model: Khai báo luật kiể lỗi cho các thuộ tính
View: phía client Kiể lỗi với Jquery
Hiể thị thông báo lỗi
Controller: phía server Kiể lỗi hợp lệ dữ liệu
Kiể soát request giả
![Page 36: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/36.jpg)
[Required]: Bắt uộ
[EmailAddress]: Đị h dạ g email
[CreditCard]: Đị h dạ g số thẻ tín dụ g
[Url]: Đị h dạ g URL
[Range (10, 50)]: Giới hạ giá t ị [StringLength (20)]: Giới hạ độ dài huỗi [Compare OtherProperty ]: “o sánh thuộ tính
[RegularExpression ("Regex ]: “o khớp iểu thứ
[MinLength (10)]: “ố phầ tử tối thiểu ủa ả g
[MaxLength (50)]: “ố phầ tử tối đa ủa ả g
![Page 37: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/37.jpg)
![Page 38: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/38.jpg)
![Page 39: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/39.jpg)
Ngă request giả
@Html.AntiForgeryToken()
Hiể thị lỗi phía server
@Html.ValidationSummary (true)
Kiể và hiể thị lỗi client và server
@Html.ValidationMessageFor (model => model.Name)
![Page 40: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/40.jpg)
![Page 42: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/42.jpg)
View: Page, Layout, Partial HTML, CSS, Jquery Razor, HTML Helper
Controller & Model C# (OOP, Collection) Entity Framework, Linq
MVC Implicit Objects Security Action Filter Web API Asynchronous Controller Dependence Injection Ajax
![Page 43: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/43.jpg)
Tuân thủ t iết lý hậ thứ ủa con gười
Qui trình đào tạo
T ự quan sinh độ g
• Cụ thể với dự án ẫu
Tư duy t ừu tượ g
• Tă g ườ g và đào sâu kiế thứ
Vậ dụ g thự tiễ
• Vậ dụ g để hoàn thiệ , ứ g dụ g
![Page 44: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/44.jpg)
![Page 45: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/45.jpg)
Inte
rnet
Inte
rnet
Shopping Cart với MVC4 sử dụ g các kỹ thuật lập trình tiên tiế , tươ g thích với ọi loại thiết ị.
![Page 46: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/46.jpg)
![Page 47: Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ](https://reader033.vdocuments.net/reader033/viewer/2022052323/559114361a28abfc158b45d1/html5/thumbnails/47.jpg)