asp.net-core – 当视图位于Views文件夹之外时,标记帮助程序无法
发布时间:2020-12-16 03:30:19 所属栏目:asp.Net 来源:网络整理
导读:使用Asp .Net 5 beta 6时,当视图位于Views文件夹之外时,标记帮助程序无法解析.我想要的文件夹结构是基于功能而不是文件类型的文件夹结构.控制器,查看我希望在反映控制器名称的文件夹中组合在一起的特定功能的模型和视图.这是我在项目中想要的文件夹结构的示
使用Asp .Net 5 beta 6时,当视图位于Views文件夹之外时,标记帮助程序无法解析.我想要的文件夹结构是基于功能而不是文件类型的文件夹结构.控制器,查看我希望在反映控制器名称的文件夹中组合在一起的特定功能的模型和视图.这是我在项目中想要的文件夹结构的示例:
UI - Account - AccountController.cs - AccountViewModels.cs - Login.cshtml - Register.cshtml - Students - StudentsController.cs - StudentsViewModels.cs - CaptureStudent.cshtml 为此,我创建了一个自定义视图引擎: 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)); }); 这个自定义视图引擎确实有效,并且视图被定位和渲染,唯一的问题是标记助手没有被正确渲染,所以不要看到这个: <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"> 当视图位于Views文件夹之外并且在Asp.Net 5 Web应用程序中是否有任何方法可以解决此问题时,是否有人知道为什么标记帮助程序无法正确呈现? 解决方法
您是否在_ViewImports文件中添加TH,如果是,则识别using语句?您是否尝试将@addTagHelper直接添加到视图中?
其中一些在我的Authoring Tag Helpers中提到过我将在接下来的文章中详细介绍继承层次结构,添加和删除. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何将CSS类名添加到ASP.NET MVC 3 Url.Act
- asp.net-mvc – 如何构建这个ASP.NET n层解决方案?
- ASP.NET 5 MVC 6中的本地化
- asp.net-mvc – 谁设置HttpContext.User.Identity的IsAuthe
- asp.net-mvc – 使用IIS 7中的ASP.NET MVC 1来路由具有特定
- 我们可以在ASP.Net WEB API中使用存储库模式和工作单元吗?
- asp.net-mvc – 阻止bingbot抓取我的网站
- asp.net-mvc – 使用Asp.net Mvc缩略图
- 如何在asp.net中验证日期
- ASP.NET MVC捆绑缓存. (检测css文件更改)(内部行为)
推荐文章
站长推荐
热点阅读