0

有一个疑问在 MVC 架构中,我们可以将数据从控制器传递到直接视图,而无需创建强类型视图,而不是为什么需要使用模型..?

如果我们将数据保存在 ViewData[""] 中并在 Views 中使用它来显示 Information ,是否会降低应用程序的性能。. ?

4

1 回答 1

2

从技术上讲,将数据存储在集合 (ViewData) 中会比传入强类型模型(具体类)稍微慢一些,但差别非常小。内存占用量也略有增加(因为您需要内存用于集合和集合中的事物),但同样,这应该是无关紧要的。

强类型模型在控制器和视图之间提供了清晰的契约。我个人更喜欢它们。

可能有一些简单的视图,开发人员觉得没有必要创建一个强类型来表示控制器/视图契约。对于这种需要,存在 ViewData。

我想某些人也使用 ViewData 来传递最初在强类型模型中未预想的额外数据。我会鼓励在这种情况下重构强类型,而不是在 ViewData 中传递额外的数据。

我可能缺少 ViewData 的“合法”用途,但到目前为止我还没有遇到过。

于 2012-06-07T07:06:43.667 回答