我已经注意到,在我从Microsoft看到的ASP.Net 5(核心)的所有示例和教程中,VS 2015中的默认Web应用程序模板使用@ViewData [“XXX”]而不是@ ViewBag.XXX。这是现在推荐的方式,从控制器传递数据而不是ViewBag?我知道ViewBag是ViewData的一个包装,但是在旧的教程(ASP.NET 4.5)中,他们使用ViewBag。如果现在鼓励开发者使用ViewData为什么要改变?
解决方法
两者仍然有效。没有关于
docs.asp.net github project的具体指导。虽然在docs.asp.net问题上有
this discussion。
“Since ViewData (Dictionary) look-ups far out-perform ViewBag
(dynamic) invocations,the last is probably the best choice.”
所以我会说纯粹的风格选择是基于ViewData表现更好的事实。