Hôm nay, gửi đến cả nhà những tính năng của ASP.NET MVC từ version 3 đến version 5; nhằm cô đọng lại những tính năng cho từng phiên bản, những cải thiện mới cho developer thông qua từng phiên bản ASP.NET MVC ASP.NET MVC3 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 1ThS Nguyễn Nghiệm
0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com
Trang 2 Dữ liệu được tạo ra bởi thành phần này và được
sử dụng bởi thành phần khác
Trang 4ThS Nguyễn Nghiệm
0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com
Trang 5 ViewBag/ViewData và Model được sử dụng đểchia sẻ dữ liệu giữa Controller và View
Trang 6 ViewBag và ViewData đã được sử dụng để truyền dữ liệu từ Controller sang View View sẽ sử dụng để xây dựng giao diện phù hợp trả lại cho người dùng.
Trang 7Khai báo kiểu dữ liệu của đối tượng Model để tận dụng intelligence (chấm xổ)
Trang 8 Chú ý: phân biệt @model và @Model
@model: dùng để khai báo kiểu của @Model
@Model: đối tượng chứa dữ liệu truyền từ Controller
Trang 12ThS Nguyễn Nghiệm
0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com
Trang 13 Phiên làm việc (session) được tính từ lúc bắt đầu truy cập website cho đến khi đóng cửa sổ trình duyệt hoặc hết hạn
sử dụng.
Dữ liệu được lưu vào session sẽ được duy trì trong suốt
phiên làm việc và được truy cập bởi bất kz thành phần nào hoạt động trong phiển làm việc đó.
Trang 14 Ứng dụng
Duy trì giỏ hàng: giỏ hàng cần duy trì trong suốt quá trình tìm kiếm và chọn mua hàng hóa.
Duy trì tài khoản đăng nhập: tài khoản đăng nhập
cần được duy trì trong suốt phiên làm việc để khi cần
có thể sử dụng.
Mã lấy đối tượng session
Trang 16 CRUD: duy trì dữ liệu trong List
Trang 17 Shopping Cart: duy trì danh sách hàng đã chọntrong session
CRUD: duy trì dữ liệu trong List
Trang 18ThS Nguyễn Nghiệm
0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com
Trang 19 Application là phạm vi chia sẻ dữ liệu trên toànứng dụng (tất cả mọi user có thể tạo và sử dụng)
Ứng dụng: Cache dữ liệu cho toàn ứng dụng
Bộ đếm số người truy cập
Queue mails
Queue chat messages
Trang 20 Truy xuất đối tượng Application
Trong Controller: HttpContext.Application
Trong View: @HttpContext.Current.Application
Trong lớp bất kz: HttpContext.Current.Application
Thao tác
Application Add (name, value)
Application [name] = <value>
Application Remove (name)
Application Clear ()
Application Lock ()
Application UnLock ()
Trang 21 Bộ đến khách thăm web
Chat
Queue mails
Trang 22ThS Nguyễn Nghiệm
0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com
Trang 23 Cookie là mẫu tin nhỏ được lưu trên máy client
và truyền thông với server trong các request vàresponse
Ứng dụng: chia sẻ dữ liệu giữa các trang trongwebsite được truy cập từ máy
Tài khoản đăng nhập
Hàng hóa đã xem
Trang 24 Lấy cookie từ client
Trong controler: Request.Cookies[name]
Gửi cookie về client
Response.Cookies.Add(cookie)
Tạo cookie
HttpCookie cookie = new HttpCookie(name, value)
Tạo cookie với tên và giá trị
Tạo cookie với tên
Trang 26 Duy trì hàng hóa đã xem
Trang 27 Tập tin Global.asax chứa các điều khiển sự kiện quản l{ vòng đời của application, session và request
Trang 28 HitCounter