Câu hỏi phỏng vấn ASP.NET MVC
Câu hỏi

Sự khác biệt giữa ViewBagViewData trong MVC là gì?

Câu trả lời

Trong MVC, ViewBag và ViewData đều được sử dụng để truyền dữ liệu từ Controller sang View. Tuy nhiên, chúng có một số điểm khác biệt cơ bản:

  1. Kiểu dữ liệu: ViewData là một dạng Dictionary, nghĩa là bạn cần khai báo một key dạng string để truy cập vào biến (ví dụ: ViewData["Key"] = value). Trong khi đó, ViewBag sử dụng các thuộc tính động, không cần khai báo key mà có thể trực tiếp gán giá trị (ví dụ: ViewBag.Key = value)[5].

  2. Yêu cầu đối với .NET Framework: ViewData hoạt động với .NET Framework 3.5 trở lên, trong khi ViewBag chỉ hoạt động với .NET Framework 4.0 trở lên[3].

  3. Cách sử dụng: Khi sử dụng ViewData, bạn cần phải ép kiểu (typecast) đối tượng khi truy xuất. Đối với ViewBag, không cần phải ép kiểu nhờ vào việc sử dụng từ khóa động (dynamic keyword)[1].

  4. Hiệu suất: Một điểm cần lưu ý là ViewBag có thể chậm hơn ViewData do việc sử dụng các thuộc tính động[1].

Tóm lại, mặ...

middle

middle

Gợi ý câu hỏi phỏng vấn

junior

Bạn có thể giải thích Model, ControllerView trong MVC không?

junior

ViewModel được dùng để làm gì trong MVC?

middle

Một view có thể được chia sẻ giữa nhiều controllers không? Nếu có, chúng ta có thể làm điều đó như thế nào?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào