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

5

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

问候 RaVen

2个回答

3

你并不需要使用动态类型视图,因为强类型视图可以带来使用上的便利和许多好处。如果你有复杂的模型,其中可能包含列表实例或其他对象,则FormViewModel也可以帮助你。因此,在真正需要动态类型视图的情况下非常少见。 例如,我有一个产品视图,我需要在上面显示类别,所以我创建了一个单独的视图模型,并将其用于产品和类别列表。

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

    }

使用动态类型视图的主要缺点是需要编写比强类型视图更多的代码。

0
可能有用,例如如果您有一个视图使用反射或其他方式从任何对象收集数据(可以是属性网格或其他)。


是的,但你可以只使用对象来实现。这里不需要动态。 - John Farrell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接