在我的应用程序中,我需要显示相同数据的三个视图:员工详细信息数据和员工工作职位(工作历史)。它们仅在某些按钮上有所不同。
正如您在下面的图像中所看到的,Details视图显示了数据,唯一可用的操作是“返回”。第二个是EditView。编辑,这里,意味着只添加一个新的职位。其他员工数据不可编辑。第三个视图用于更改员工状态(已启用、已禁用、已删除):页脚中的按钮根据当前员工状态可见/隐藏。
详情
编辑
ChangeState
您认为对所有三种方法(Detail、Edit、ChangeState)都有一个视图是一个好选择吗?
传递给视图的ViewModel应该具有要计算的属性,以便显示\隐藏按钮。例如:CurrentState(启用、禁用、删除)、Action(ShowDetail、Edit、ChangeState)。
我还在考虑使用两个局部视图来显示员工详细信息和职位部分。
1条答案
按热度按时间mlnl4t2r1#
您是否考虑过使用局部视图?
控制器:
浏览次数:
局部视图:
结果如下:
https://localhost:7230/no-partial
https://localhost:7230/with-partial
有关部分视图的更多信息,请参阅以下内容:https://learn.microsoft.com/en-us/aspnet/core/mvc/views/partial?view=aspnetcore-7.0
在我看来,这不是最好的做法。我会建议制作多个较小的局部视图,然后只用它们构建视图。我的意思是:
您将有3个视图,但是内容将从这些部分视图构建,您将“硬编码”到视图中。因此,每当您需要编辑某些内容时,您将编辑较小的组件/视图,而不是巨大的通用视图。