首页 > 解决方案 > 在其他项目的 mvc 中使用 partials

问题描述

是否可以将一些部分(* .cshtml)移动到核心类项目并在其他 mvc 项目中使用它们?

也许通过在 _ViewImports 中注入或使用某些东西?

标签: asp.net-mvcasp.net-core

解决方案


您可以将它们放在 Razor 类库中:

https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ui-class

Razor 视图、页面、控制器、页面模型、Razor 组件、视图组件和数据模型可以构建到 Razor 类库 (RCL) 中。RCL 可以打包和重用。应用程序可以包含 RCL 并覆盖它包含的视图和页面。当在 Web 应用程序和 RCL 中都找到视图、局部视图或 Razor 页面时,Web 应用程序中的 Razor 标记(.cshtml 文件)优先。

创建包含 Razor UI 的类库

  • 从 Visual Studio 中选择新建一个新项目。
  • 选择 Razor 类库 > 下一步。
  • 命名库(例如,“RazorClassLib”),> 创建。为避免文件名与生成的视图库发生冲突,请确保
    库名不以 .Views 结尾。
  • 如果您需要支持视图,请选择支持页面和视图。默认情况下,仅支持 Razor 页面。选择创建。

Razor 类库 (RCL) 模板默认为 Razor 组件开发。支持页面和视图选项支持页面和视图。


推荐阅读