.net core 2.1 在各种项目中重用_Layout
.net core 2.1 reusing _Layout throughout various projects
我正在尝试在多个 .net core 2.1 Razor Page 项目中重复使用同一个 _Layout.cshtml 文件。目前我有一个 Razor 页面 Class 库( 公共共享项目 ),_Layout.cshtml 文件将位于该位置。除了布局文件之外,还有 css 和 js 文件,所有其他项目也应该可以访问这些文件(我能够做到这一点)。
次要项目将引用 公共共享项目 并且应该能够使用其中的 _Layout.cshtml 文件。
我的问题是,当我从这些项目访问页面时,当前它没有加载通用的 _layout 文件,而是加载了自己的布局文件。如果我尝试删除这个文件,它会抛出找不到布局文件的错误。但是,如果我加载 Common shared project 中包含的页面,它会加载自己的 _layout。
我已经使用以下教程来了解我现在的位置,但我无法弄清楚如何让辅助项目加载 公共共享项目 中的布局。
Including Static Resources In Razor Class Libraries In ASP.NET Core
Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core
请记住,其中 2 篇文章是基于共享 css 和 js 文件(确实有效),但我也阅读了其他布局示例,但没有成功(目前我没有其他文章的 link)
就我编写的代码而言,我目前正在试验一个示例项目,它与第一篇文章相同(在 Razor Class 中包含静态资源 ASP.NET 库=]核心).
更新
利用第 3 个 link(在 ASP.NET 核心中重复使用 UI 和 Razor Class 库 (RCL))我能够实现我的目标。但是,我以前使用过相同的策略,但没有用。我将尝试更多地尝试这个。如果我有任何其他更新,我会 post 它们。
很明显,因为我在 Including Static Resources In Razor Class Libraries In ASP.NET Core link the example left the default razor page class library structure containing the Area/MyFeatures folders. I modified this to work like the last link Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core 工作,其中 公共共享项目 的结构与 Web 应用程序项目的结构相同(没有 Area 或 MyFeatures 文件夹)。我还添加了:
@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers
我的 _ViewStart.cshtml 位于 公共共享项目 的末尾。
另请注意,您必须从 Web 应用程序中删除 _layout.cshtml 和 _viewstart.cshtml,否则它将覆盖共享项目布局。
无论如何,这似乎已经解决了问题,现在可以正常工作了。
我正在尝试在多个 .net core 2.1 Razor Page 项目中重复使用同一个 _Layout.cshtml 文件。目前我有一个 Razor 页面 Class 库( 公共共享项目 ),_Layout.cshtml 文件将位于该位置。除了布局文件之外,还有 css 和 js 文件,所有其他项目也应该可以访问这些文件(我能够做到这一点)。
次要项目将引用 公共共享项目 并且应该能够使用其中的 _Layout.cshtml 文件。
我的问题是,当我从这些项目访问页面时,当前它没有加载通用的 _layout 文件,而是加载了自己的布局文件。如果我尝试删除这个文件,它会抛出找不到布局文件的错误。但是,如果我加载 Common shared project 中包含的页面,它会加载自己的 _layout。
我已经使用以下教程来了解我现在的位置,但我无法弄清楚如何让辅助项目加载 公共共享项目 中的布局。
Including Static Resources In Razor Class Libraries In ASP.NET Core
Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core
请记住,其中 2 篇文章是基于共享 css 和 js 文件(确实有效),但我也阅读了其他布局示例,但没有成功(目前我没有其他文章的 link)
就我编写的代码而言,我目前正在试验一个示例项目,它与第一篇文章相同(在 Razor Class 中包含静态资源 ASP.NET 库=]核心).
更新
利用第 3 个 link(在 ASP.NET 核心中重复使用 UI 和 Razor Class 库 (RCL))我能够实现我的目标。但是,我以前使用过相同的策略,但没有用。我将尝试更多地尝试这个。如果我有任何其他更新,我会 post 它们。
很明显,因为我在 Including Static Resources In Razor Class Libraries In ASP.NET Core link the example left the default razor page class library structure containing the Area/MyFeatures folders. I modified this to work like the last link Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core 工作,其中 公共共享项目 的结构与 Web 应用程序项目的结构相同(没有 Area 或 MyFeatures 文件夹)。我还添加了:
@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers
我的 _ViewStart.cshtml 位于 公共共享项目 的末尾。
另请注意,您必须从 Web 应用程序中删除 _layout.cshtml 和 _viewstart.cshtml,否则它将覆盖共享项目布局。
无论如何,这似乎已经解决了问题,现在可以正常工作了。