在控制器中返回不同的视图

如果我有一个控制器,并且我想根据我的条件逻辑返回一个视图,那可能吗? 我有不同类型的模型,我想插入视图依赖我的条件逻辑(如果语句)我可以这样做吗? 我该怎么做

当然,返回View()接受视图名称作为其第一个参数。 只需指定不同的视图即可。

如果你有不同的模型进入同一个视图,要么尝试合并它们,创建一个容器模型(每个模型类型一个属性,然后是枚举,以便视图知道要渲染的内容),使用动态作为模型在查看,或为每个模型创建一个视图。

第一个和最后一个将是我的首选,但它取决于具体细节。

您可以在控制器中执行类似的操作(这是查看用户是否已validation的示例)

if (Request.IsAuthenticated) return View("View1", new AuthenticatedViewModel(myValues1)); else return View("View2", new AnonymousViewModel(myValues2));