我对ASP.NET MVC和一般的MVC模式都不熟悉,但我真的在挖掘这个概念以及我可以快速构建一个应用程序.我正在努力的一件事是如何将多个对象暴露给视图.我使用了很多强类型视图,这种视图效果很好但是如果我的视图依赖于多个对象呢?现在我正在做一些非常hacky并将Dictionary传递给视图,然后只是键入不同的对象.这有更好的模式吗?
您有两个主要选项,可以根据您的应用程序正常运行.
1)只需将对象放入ViewData集合中即可.如果您有许多不同的控制器将不同的数据传递给不同的视图,这很有效.它还取决于您在将对象强制转换为正确类型时从对象中获取多少装箱/取消装箱.此选项更灵活,但类型安全性更低,可能更脆弱.
2)创建强类型对象,其中包含对一组视图有用的其他强类型对象.如果您倾向于将相同的数据传递到大多数视图并且控制器较少,则此方法很有效.
您还可以考虑传递一个公开接口的对象,该接口可以获取不同的模型对象(一种定位器类),但这可能会导致比修复它们更多的问题.