.net - ViewData 和 ViewBag 有什么区别?

标签 .net asp.net-mvc-3 difference viewbag viewdata

我在 MVC 3 中看到了 ViewBag。它与 MVC 2 中的 ViewData 有什么不同?

最佳答案

它使用 C# 4.0 动态功能。它实现了与 viewdata 相同的目标,应该避免使用强类型 View 模型(与应避免使用 viewdata 的方式相同)。

所以基本上它取代了魔术字符串:

ViewData["Foo"]

具有魔法属性:

ViewBag.Foo

您没有编译时安全性。

我仍然责怪 Microsoft 在 MVC 中引入了这个概念。

属性名称区分大小写。

关于.net - ViewData 和 ViewBag 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4705426/

相关文章:

asp.net - 无法运行空的 ASP.Net MVC 3 应用程序

javascript - 如何默默地保证在页面卸载时执行 ASP.NET MVC3 操作

c++ - 当您无法测量差异时如何处理 iterator::difference_type?

c++ - 如何获得二维数组中两点的差异

c# - 将所有标准事件处理程序替换为 WeakEventManager 或其变体是否安全?

c# - 在 LINQ 语句中执行多个连接

c# - 通用列表 FindAll() 与 foreach

javascript - 各种迭代器性能差异的原因

c# - '无法从文本 '..\Images\Medium.png' 创建 ImageSource 添加新引用失败

.net - 将对象图重新附加到 EntityContext : "cannot track multiple objects with the same key"