
TempData thường được ứng dụng để hiển thị các thông báo thành công, thất bại ở trang kế tiếp.
Khi người dùng Tạo mới Book xong sẽ được chuyển qua trang Danh sách Book kèm một thông báo tạo book thành công. Lúc này chúng ta sẽ không thể dùng ViewBag hay ViewData để lưu thông báo được vì thông báo nằm ở trang khác (Action khác). Chúng ta sẽ dùng TempData để lưu thông báo ở trang Tạo mới Book và hiển thị ra ở trang Quản lý Book:
Ngoài View của trang Danh sách Book chỉ việc hiển thị message:
Một cách khác đó là tạo một thuộc tính cho Controller và gán cho nó Attribute TempData sau đó sử dụng thuộc tính đó để lưu message:
Có 2 loại TempData Provider là cookie-based (lưu dữ liệu trong Cookie) và session-base (lưu dữ liệu trong Session). Việc chọn loại Provider nào là tùy mục đích sử dụng:
- Trong ứng dụng có cần dùng đến Session state hay không, nếu không thì nên dùng cookie-based provider.
- Nếu dữ liệu lưu trong TempData lớn thì nên dùng session-based provider vì Cookie có thể bị hạn chế dung lượng bởi trình duyệt và sẽ làm tăng thêm chi phí request (cost).
Mặc định ASP.NET Core 2 sử dụng cookie-base provider, để chuyển qua dùng session-base provider thì ta sẽ phải cấu hình trong file Startup.cs:
Bạn muốn học lập trình hãy liên hệ ngay với Mỹ Vân để được nhận ưu đãi từ học viện nhé
Không có nhận xét nào:
Đăng nhận xét