我对ASP.NET MVC和一般的MVC模式都不熟悉,但我真的在挖掘这个概念以及我可以快速构建一个应用程序.我正在努力的一件事是如何将多个对象暴露给视图.我使用了很多强类型视图,这种视图效果很好但是如果我的视图依赖于多个对象呢?现在我正在做一些非常hacky并将Dictionary传递给视图,然后只是键入不同的对象.这有更好的模式吗?
解决方法
您可以简单地将每个对象存储在ViewData中,然后在View中投射相应的对象类型.
控制器:
ViewData["ObjectA"] = objectA; ViewData["ObjectB"] = objectB;
视图:
<%= ((ObjectA)ViewData["ObjectA"]).PropertyA %> <%= ((ObjectB)ViewData["ObjectB")).PropertyB %>
或者更好,
<% var objectA = (ObjectA)ViewData["ObjectA"]; var objectB = (ObjectB)ViewData["ObjectB"]; %> <%= objectA.PropertyA %> <%= objectB.PropertyB %>