gpt4 book ai didi

asp.net-core - 当 View 位于 Views 文件夹之外时,标签助手无法解析

转载 作者:行者123 更新时间:2023-12-04 19:53:57 25 4
gpt4 key购买 nike

Asp .Net 5 beta 6当 View 位于 Views 之外时,标签助手无法解析文件夹。我想要的文件夹结构是基于功能而不是文件类型的。我希望将特定功能的 Controller 、 View 模型和 View 组合在一个反射(reflect) Controller 名称的文件夹中。这是我希望在项目中使用的文件夹结构示例:

 UI
- Account
- AccountController.cs
- AccountViewModels.cs
- Login.cshtml
- Register.cshtml
- Students
- StudentsController.cs
- StudentsViewModels.cs
- CaptureStudent.cshtml

为此,我创建了一个自定义 View 引擎:
public class CustomUIViewEngine : RazorViewEngine
{
public CustomUIViewEngine(IRazorPageFactory pageFactory,
IRazorViewFactory viewFactory,
IOptions<RazorViewEngineOptions> optionsAccessor,
IViewLocationCache viewLocationCache) :
base(pageFactory, viewFactory, optionsAccessor, viewLocationCache)
{
}
public override IEnumerable<string> ViewLocationFormats
{
get
{
var viewLocationFormats = base.ViewLocationFormats
.Union(new string[] { "~/UI/{1}/{0}.cshtml" });
return viewLocationFormats;
}
}
}

我在 startup.cs 注册的如下:
services.AddMvc().ConfigureMvcViews(options =>
{
options.ViewEngines.Clear();
options.ViewEngines.Add(typeof(CustomUIViewEngine));
});

这个自定义 View 引擎可以工作并且 View 被定位和渲染,唯一的问题是 tag helpers没有正确呈现,所以不要看到这个:
<form method="post" class="form-horizontal" role="form" action="/Account/Login">

我在渲染源中看到了这一点:
<form asp-controller="Account" asp-action="Login" method="post" class="form-horizontal" role="form">

有谁知道为什么 tag helpers当 View 位于 Views 文件夹之外时,没有正确呈现,如果有任何方法可以在 Asp.Net 5 中更正此问题Web应用程序?

最佳答案

您是否在 _ViewImports 文件中添加了您的 TH,如果是,使用 声明被认可?您是否尝试过将 @addTagHelper 直接添加到 View 中?

我的 Authoring Tag Helpers 中提到了其中的一些内容。
我将在下一篇文章中详细介绍继承层次结构、添加、删除。

关于asp.net-core - 当 View 位于 Views 文件夹之外时,标签助手无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670033/

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