最佳方法是ASP.NET MVC中的类型化视图还是非类型化视图?
时间:2020-03-06 14:46:05 来源:igfitidea点击:
在ASP.NET MVC中,可以选择是否在代码背后定义类型化视图,而该类型化视图是在视图中可以预期的数据类型。但是也可以不定义它,而只是传递任何类型的数据以在ViewData容器中进行查看。
最好的模型是什么?或者我应该根据正在讨论的数据类型(最好是确保对视图类型的功能至关重要的数据和其他未键入的数据至关重要的数据)进行混合?我真的不明白为什么这里有一个选择...
解决方案
过去我也有这个想法。在我的站点中,当视图几乎是我们所显示类的1:1模型时,我曾经使用强类型视图。就像显示所有用户的列表一样,我键入"列表",这样我就无需随时进行强制转换以拥有正确的数据类型。
在没有具体意见的情况下,我只是将强类型定义为最"沉重" /使用过的类型。
在表单中,表单本身是返回View(form)时视图的类型。 ....
框架的早期版本要求我们在ViewData字典和强类型视图模型之间进行选择。
现在,我们可以将两者混合使用。将此功能与Preview 5的一些新功能结合起来,例如ModelState,验证和自动绑定以形成字段,并且在呈现的视图中将ViewPage用于主模型变得更加引人注目。
我们仍然可以在控制器管道中将数据添加到字典中,并稍后使用MvcContrib的ViewData [" key"] ...甚至更好的ViewData.Get(" key")来请求数据。
我建议始终使用强类型的ViewData ...这样一来,我们就可以进行编译时检查,智能感知,不必在视图中进行强制转换,并且可以更轻松地重构代码。