Sự khác biệt giữa ViewData
và `...
Sự khác biệt giữa ViewData
và `...
Trong ASP.NET MVC, ViewData
và TempData
là hai cơ chế được sử dụng để truyền dữ liệu từ controller đến view, hoặc giữa các request khác nhau. Mặc dù cả hai đều có chức năng tương tự là lưu trữ dữ liệu, nhưng chúng có những đặc điểm và mục đích sử dụng khác nhau.
ViewData
là một dictionary của object được truyền từ controller đến view. Nó dựa trên ViewDataDictionary
và là một cấu trúc dữ liệu dạng key-value. ViewData
chỉ tồn tại trong suốt request hiện tại và sẽ bị mất khi chuyển từ một request này sang request khác. Nó thường được sử dụng để truyền dữ liệu không phức tạp từ controller đến view.
Đặc điểm của ViewData:
ViewData
mà không có giá trị, nó sẽ trả về null
mà không bị lỗi.Ví dụ sử dụng ViewData:
public ActionResult Index()
{
ViewData["Message"] = "Hello from ViewData!";
return View();
}
Trong view:
<p>@ViewData["Message"]</p>
TempData
cũng là một dictionary dựa trên TempDataDictionary
và được sử dụng để truyền dữ liệu giữa các request. TempData
sử dụng session để lưu trữ dữ liệu và chỉ xóa dữ liệu sau khi nó đã được truy cập trong một request tiếp theo, điều này rất hữu ích cho các kịch bản như chuyển hướng, nơi bạn muốn truyền dữ liệ...
senior
Gợi ý câu hỏi phỏng vấn
Bạn biết gì về Bundle.Config
trong ASP.NET MVC?
Chưa có bình luận nào