我目前正在将现有的 webforms 应用程序转换为 MVC,但不确定如何设计其中一个页面。现有页面有 2500 行代码,负责显示相同信息的多个不同视图。以下示例只是此页面的一小部分(工具栏),但我不确定避免重复代码的最佳方法是什么。
管理员视图工具栏:保存、PDF、打印、拼写检查、管理文档、员工视图切换
工具栏的经理视图:保存、PDF、打印、拼写检查、员工视图切换
工具栏的员工视图:保存、PDF、打印、拼写检查
我已将应用程序拆分为三个不同的视图。他们使用相同的局部视图来呈现页面的内容,但目前每个视图都有自己的工具栏副本。因此,用于保存、PDF、打印和拼写检查的 HTML 元素在每个视图中都是重复的。最好有一个局部视图来呈现工具栏,但为了做到这一点,我需要在视图中放置某种逻辑来确定它是否应该显示 Employee View Toggle 链接或管理文档。
在开发其他新页面时,我也遇到了类似的问题。最初,不同页面的需求具有相同的元素,我们将其拆分为部分视图。在测试和添加更多功能之后,最终局部视图需要在每个页面上略有不同。通常它只是某些控件的可见性,但最终部分视图最终会在其中包含一堆逻辑来检查几件事以确定是否应该显示某些内容。
在大多数元素相同的情况下,处理略有不同的视图的最佳方法是什么?