我有一个相当大的 View 组件,我想在两个不同的 asp.net core MVC 项目中使用它。到目前为止,我发现了两种实现此目的的方法:
这两种方法之间的权衡是什么?我的 View 组件有嵌套的 View 组件,它需要 java 脚本来实现一些动态功能。
最佳答案
从 ASP.NET Core 2.1 开始,您需要使用专为这种情况设计的 Razor 类库 (RCL)。
RLC 可让您使用 Razor View 、页面、 Controller 、页面模型、 View 组件和数据模型创建可重用的 UI。额外的好处是 View (甚至是部分 View )可以被主应用程序覆盖,其中 Razor 标记(.cshtml 文件)优先,允许在不修改原始共享组件的情况下对每个应用程序进行更改。
- 从 Visual Studio 文件 菜单中,选择新建 > 项目。
- 选择ASP.NET Core Web 应用程序。
- 为库命名(例如,“RazorClassLib”)> 确定。为避免文件名与生成的 View 库冲突,请确保 库名称不以 .Views 结尾。
- 确认选择了 ASP.NET Core 2.1 或更高版本。
- 选择Razor 类库> 确定。
- 从主应用程序引用 RCL(您也可以 make the shared library as NuGet package )
- 启动应用程序并访问
/MyFeature/Page1
关于asp.net-core - 跨多个项目共享 View 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52885224/