在视图模型属性中存储部分视图名称是否清楚?

时间:2017-11-23 07:08:32

标签: c# asp.net-mvc razor asp.net-mvc-5

在我的MVC项目中,我需要动态更改特定部分视图的呈现方式。我知道一个选项是在父视图中做出决定(通过某种条件),然后渲染父部分视图。

但是我根本不喜欢视图中的逻辑。此外,这对于将来的更改也是不可扩展的(例如,添加新的部分视图也需要在父视图中进行更改)。因此,我最终得到的视图模型包含定义要渲染的局部视图名称的属性。所以剃刀代码看起来像这样:

@Html.Partial(Model.ChildViewName, Model.Child);

所有决策逻辑都在工厂的后端代码中完成,该代码生成视图模型。这非常灵活且可扩展。但是我不喜欢模型和视图之间的耦合,因为我认为视图模型应该只是数据和视图的包络应该只显示它​​们。所以我想知道是否有更好或更优雅的方法来处理这个问题。

0 个答案:

没有答案