在asp.net mvc中,如果我将字典或对象数组放入ViewData中并在视图中读取,与创建具有相同数据结构视图模型类相比,是否存在性能差异或其他考虑因素,或者我应该预期相同的响应时间?
发布于 2010-06-01 22:57:20
响应时间将是最小的,并且不会真正对性能产生重大影响。
它甚至会降低您的性能,并且非常hacky
,因为您将不得不大量使用boxing and unboxing,而这最终将失败。
然而,View Model是向视图提供模型数据的appropriate
方式,因为它为您提供了更多的可能性:
它提供了:
使用ViewModels
Html.EnableClientSideValidation()
)
最重要的是。整个框架都建立在这些小工具之上,这些小工具可以在您的旅程中为您提供支持。
现在去破解一些代码吧!:-]
发布于 2010-06-01 22:44:02
如果你在视图端从ViewData转换回你的字典,那么性能会受到影响。
此外,您现在正在向视图中引入代码。视图应该有很少的代码,甚至没有代码。
你的视图可以继承自一个类,这是有原因的。使用它。ViewData只能用于像、、页面标题之类的小字符串中的一次。
我只是在这里修复一个项目,其中没有视图继承自模型,而是使用ViewData来处理列表等内容。有时在一个视图中显示15个。这该死的东西太慢了,但通过用模型取代ViewData,我们正在追回速度。
https://stackoverflow.com/questions/2953874
复制相似问题