我有一个团队 asp.net-mvc 网站,并且在我的 site.master 页面中
- 标题图片
- 一份菜单
- 我所有的 js 和 css 包括。
我现在需要将该站点用于两个不同的团队,我在两个不同的端口上运行该站点,每个团队只看到他们团队的信息(几乎相同的确切站点和相同的数据库,但只是不同的数据库过滤器)
我通过将它添加到我的控制器类来实现后端:
string team = ConfigurationManager.AppSettings["Team"]
并基于该值,它会更改我运行的数据库查询。效果很好,但现在我需要对前端进行一些调整(因为我意识到标题图像和一些菜单项也需要更改)
鉴于此,我现在需要重构 site.master,因为我需要使用相同的代码库来支持两个不同团队的视图,并且我想要
- 每个团队展示自己的headerImage
- 每个团队都有自己的菜单项
- 避免重复任何通用代码(如 css 和 js 包含)
(现在只是硬编码在 site.master 文件中)
我可以将所有代码复制并粘贴到不同的母版页(比如说 site2.master)并复制所有公共代码,但我想看看是否有能力在 2 个 master 之间分解出所有公共代码文件以避免重复。
另外,我试图弄清楚如何让我的代码根据配置条目动态地“找出”要使用的主文件。我正在考虑使用嵌套母版页,但这似乎不起作用,因为每个页面确实适用于 Team1 和 Team2,并且只需要动态设置。我希望避免在每个控制器操作上都有此开关代码的情况