【发布时间】:2019-09-07 07:45:34
【问题描述】:
在此处的文档中: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components?view=aspnetcore-2.2
运行时在以下路径中搜索视图:
/Views/{Controller Name}/Components/{View Component Name}/{View Name} /Views/Shared/Components/{View Component Name}/{View Name} /Pages/Shared/Components/{View Component Name}/{View Name}
如何在此处添加另一条路径?
我想将我的视图组件及其各自的控制器放在一个名为 components 的项目文件夹中。
/Components/{View Component Name}/{View Name}
我的动机:
我发现我的视图组件有自己的 JS 和 CSS 文件。我将所有 JS 捆绑并最小化在一个 site.min.js 中,并将所有 CSS 捆绑并最小化在它们的 site.min.css 中。 JS 总是类似于$(function() { ... }),而 CSS 总是以一种顺序无关紧要的方式编写,因此在不知道顺序的情况下捆绑所有内容不是问题。
其中一些视图组件有 javascripts 可以改变它们在服务器上的状态,例如对控制器操作的 AJAX 调用,该操作返回一些 JSON 或整个视图组件的 HTML。
由于控制器只是一个 C# 类,它们可以位于任何文件夹中,但将具有相关 AJAX 操作的控制器移动到“Views”文件夹感觉很愚蠢。
最后我想要一个像这样的“组件”(不是真正的“视图组件”):
/Components/SomeViewComponent/Default.cshtml
/Components/SomeViewComponent/SomeViewComponentController.cs
/Components/SomeViewComponent/SomeViewComponent.cs
/Components/SomeViewComponent/SomeViewComponent.css
/Components/SomeViewComponent/SomeViewComponent.js
/Components/SomeViewComponent/SomeViewComponent.en.resx
/Components/SomeViewComponent/SomeViewComponent.cs-CZ.resx
【问题讨论】:
标签: c# asp.net-core asp.net-core-2.2