我移动到MVC经过多年使用的WebForms和我有一个复杂的页面问题,MVC是如何工作的ASP.NET MVC和复杂的模型
我明白控制器创建被传递到视图模型,然后显示给用户。
如果我们以Microsoft主页为例(在本文的底部显示),并假设以黄色突出显示的每个区域都是独立的数据库驱动区域,这些区域在主页上组合并通过调用家庭控制器/索引方法。
我的问题是关于如下所示的页面如何构建必要的模型,然后将其传递回视图进行渲染。
我的第一个选择是创建复杂的ViewModel,其中包含每个小节(和每个子节内容),并将其传递回视图,但我认为在复杂的页面上这会很快变得混乱。
另一个选择可能是在出现子部分的每个地方使用一堆RenderAction调用(我不确定这是否正确)。
也许PartialViews/ViewComponent可能是另一个选项可用于我。
在WebForm的世界,我会用每一个用户控件与代码隐藏页自己的逻辑,但很明显,我不能做到这一点在这里(虽然ViewComponents似乎类似)
所以,对于一个复杂的页面是什么生成一个或多个模型和视图/视图的最佳实践,以保持一切美好和干净。
谢谢你的建议:)
您提到的所有选项都适用,但最好取决于多种因素 –