我目前正在开发一个包含两个 Web 项目 (MVC) 的应用程序:
- 前端
- 后端
这两个将具有几乎相同的布局(很少有细微的变化)。因此我想创建一个MasterPage,他们可以共享。但由于这是两个不同位置的两个项目,我应该将母版页、图像和 javascript 放在哪里?
图像和 javascript(静态内容)可以放在 CDN 上。
但是 ASP.NET 特定的东西怎么样?有什么建议么?任何帮助表示赞赏!
我目前正在开发一个包含两个 Web 项目 (MVC) 的应用程序:
这两个将具有几乎相同的布局(很少有细微的变化)。因此我想创建一个MasterPage,他们可以共享。但由于这是两个不同位置的两个项目,我应该将母版页、图像和 javascript 放在哪里?
图像和 javascript(静态内容)可以放在 CDN 上。
但是 ASP.NET 特定的东西怎么样?有什么建议么?任何帮助表示赞赏!
MasterPage 是底层的 UserControl,因此任何共享 UserControl 的方法都适用于 MasterPage。不幸的是,这在 ASP.NET 中并不是很好的体验,因为 BuildManager(在构建时编译并将应用程序路径连接到类)仅识别和处理当前项目中的文件。
共享代码隐藏或基类很容易并且效果很好。它是设计图面(.master、.ascx、.aspx),没有太多可以共享的能力。您可以使用部署项目将 Web 应用程序项目编译为可以引用的程序集,但在实际项目中仍然需要一些设计文件。
这也可能有帮助:
可以在新项目中包含来自另一个项目的现有文件。你可以这样做。因此,只需将其放在一个项目中,然后将其包含在另一个项目中即可。
或者,您可以创建一个“核心”库,并将东西放在那里,但这不能很好地与控件等“播放”,所以我推荐第一种方法。