View的@ Model,ViewDataDictionary,ViewData和ViewBag如何相互关联?

时间:2012-03-28 23:08:09

标签: c# asp.net asp.net-mvc razor

这些之间有什么关系(如果有的话)?

我知道ViewBag可以访问ViewData,但ViewBag的类型为Dynamic。

此外,ViewData的类型为ViewDataDictionary。

任何人都可以详细说明这些,特别是 ViewData与视图Model @model之间的关系(如果有的话)?

更新

我在做了一些断点和调试之后才意识到,View的Model属性(razor的@model)与其ViewData.

之间没有任何关系

更新

实际上,我接受了。 View的模型实际上是ViewData

ViewData.Model的一部分

现在我只想知道ViewData和ViewBag?

1 个答案:

答案 0 :(得分:2)

唯一的区别是ViewBag使用动态功能。正如Darin Dimitrov所说:

  

它实现了与viewdata相同的目标,应该避免使用   使用强类型视图模型(与viewdata相同的方式)   避免)。

查看问题下面的heredtryon link张贴的内容。