ASP.NET MVC强类型与动态类型视图

RaV*_*Ven 5 asp.net-mvc

鉴于使用强类型视图消除类型错误和使用lambda表达式的好处,为什么会使用动态类型视图?当我使用它们时,我感觉不像强类型视图那样安全.我错过了什么吗?它们有特殊用途吗?=)

关心RaVen

par*_*agy 3

你不是因为强类型视图给你带来了易用性和许多好处。如果您有可能包含列表实例的复杂模型,除了 FormViewModel 之外的其他对象也可以帮助您。所以很少有场景你真正需要动态类型视图。例如,我有产品视图,我需要在其上显示类别,因此我创建了单独的视图模型,并将其用于产品和类别列表。

   public class ProductViewModel
    {
        public Product Product { get; set; }
        public List<Category> Categories { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

动态类型视图的主要缺点是与强类型视图相比,您需要编写大量代码。