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

时间:2010-11-25 18:10:06

标签: asp.net-mvc

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

此致 RaVen

2 个答案:

答案 0 :(得分:3)

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

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

    }

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

答案 1 :(得分:0)

可能有一个用途,例如,如果你有一个使用反射或任何东西从任何对象收集数据的视图(可能是属性网格或其他)。