gpt4 book ai didi

c# - .net core 2.1 在各种项目中重用_Layout

转载 作者:行者123 更新时间:2023-12-05 04:03:49 26 4
gpt4 key购买 nike

我正在尝试在多个 .net core 2.1 Razor Page 项目中重复使用相同的 _Layout.cshtml 文件。目前我有一个 Razor 页面类库(公共(public)共享项目),它是 _Layout.cshtml 文件所在的位置。除了布局文件之外,还有 css 和 js 文件,所有其他项目也应该可以访问这些文件(我能够做到这一点)。

辅助项目将引用公共(public)共享项目,并且应该能够使用其中的 _Layout.cshtml 文件。

我的问题是,当我从这些项目访问页面时,当前它没有加载通用的 _layout 文件,而是加载了自己的布局文件。如果我尝试删除这个文件,它会抛出找不到布局文件的错误。但是,如果我加载包含在 Common shared project 中的页面,它会加载自己的 _layout。

我已经使用以下教程来了解我现在的位置,但我无法弄清楚如何让辅助项目加载公共(public)共享项目中的布局。

Including Static Resources In Razor Class Libraries In ASP.NET Core

Can Razor Class Library pack static files (js, css etc) too

Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core

请记住,其中 2 篇文章是基于共享 css 和 js 文件(确实有效),但我也阅读了其他布局示例,但运气不佳(目前我没有有其他文章的链接)

就我编写的代码而言,我目前正在一个示例项目上进行试验,它与第一篇文章(在 ASP.NET Core 中的 Razor 类库中包含静态资源)相同。

更新

利用第三个链接(在 ASP.NET Core 中使用 Razor 类库 (RCL) 重用 UI)我能够实现我的目标。但是,我以前使用过相同的策略,但没有用。我将尝试更多地尝试这个。如果我有任何其他更新,我会发布它们。

最佳答案

很明显,因为我正在处理 Including Static Resources In Razor Class Libraries In ASP.NET Core链接示例离开了包含 Area/MyFeatures 文件夹的默认 Razor 页面类库结构。我将其修改为像最后一个链接一样工作 Reuse UI With Razor Class Libraries (RCL) In ASP.NET Core其中,Common shared project 的结构与 Web 应用程序项目的结构相同(没有 AreaMyFeatures 文件夹)。我还补充说:

@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers

到位于公共(public)共享项目中的_ViewStart.cshtml 的末尾。

另请注意,您必须从 Web 应用程序中删除 _layout.cshtml 和 _viewstart.cshtml,否则它将覆盖共享的项目布局。

无论如何,这似乎已经解决了问题,现在可以正常工作了。

关于c# - .net core 2.1 在各种项目中重用_Layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53231676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com