【发布时间】:2011-09-04 22:33:22
【问题描述】:
首先,这不是一个新问题。我的问题实际上是 gWiz 提供的答案之一的后续问题。他的帖子/答案的链接在这里:
Multiple models sent to a single view instance
另一种方法是不要强类型化视图和 页面指令中的母版页,而是使用 来自 MVC Contrib 的基于通用类型的 ViewData 扩展。这些 扩展基本上使用完全限定的类型名称作为 ViewData 字典键。实际上,打字的好处与 强类型页面方法,在 所需的视图模型类的数量。然后在你的行动中做
ViewData.Add<Car>(car); ViewData.Add<LayoutAData>(layoutAData);在你所做的视图中
<%= ViewData.Get<Car>().Color %>在你的母版页中
<%= ViewData.Get<LayoutAData>().Username %>您可以在视图中内联缓存这些 Get 调用以减轻 多次铸造的成本。
我的问题是关于最后一条评论:如何在视图中“缓存”get 调用?视图不是每次都被销毁和创建吗?
我确实尝试搜索示例,但也许我没有问正确的问题?
【问题讨论】:
标签: asp.net-mvc model-view-controller mvccontrib