如何避免在 ASP.NET Core MVC 中将我的视图组件命名为 cshtmls "Default.cshtml"?
How can I avoid naming my View Component cshtmls "Default.cshtml" in ASP.NET Core MVC?
似乎在ASP.NET Core MVC中,如果我想使用View Component,我必须将它们放在Views\Shared\Components\[ViewComponentName]
中,然后将文件命名为“Default.cshtml” .
这相当令人沮丧,因为在我帮助从 Perl CGI 移植的大型项目开始时,我正在创建大量视图组件并在 Visual Studio 中有五个选项卡都命名为 Default.cshtml
令人困惑。
有什么办法可以避免这种命名约定吗?甚至可以将它们从文件夹中取出,使文件看起来像……?
Views\Shared\Components\[ViewComponentName].cshtml
我不知道是否只有一些我可以调整的设置或什么。在大多数情况下,我对 ASP.NET 还是很陌生,而且还在摸索。使用 ASP.NET Framework 而不是 ASP.NET Core 是 一个选项,尽管我不想这样做,因为很多样板文件已经完成。
The documentation on ViewComponents 是这样说的:
We recommend you name the view file Default.cshtml and use the Views/Shared/Components/{View Component Name}/{View Name} path.
这让我觉得有办法绕过这个限制,但它没有具体说明它是如何工作的或者它看起来像什么。
和 Nic 一样,我同意有几个到几十个名为 default.cshtml 的文件很烦人。更何况是有几个到几十个文件夹,每个文件夹中只有一个文件
Components/ViewComponentName/default.cshtml
Components/AnotherViewComponentName/default.cshtml
Components/AThirdViewComponentName/default.cshtml
et cetera
我理解推荐名称和位置的原因...但我只是不同意并接受后果。对于那些和我一样傲慢态度的人,View() 允许您指定一个视图名称
return View("Schools", items);
如果将视图放在非标准位置,甚至可以指定视图的路径
return View("/Pages/Components/Schools.cshtml", items);
我正在使用 Razor Pages,但我确信这也适用于 Views/Shared/Components。
似乎在ASP.NET Core MVC中,如果我想使用View Component,我必须将它们放在Views\Shared\Components\[ViewComponentName]
中,然后将文件命名为“Default.cshtml” .
这相当令人沮丧,因为在我帮助从 Perl CGI 移植的大型项目开始时,我正在创建大量视图组件并在 Visual Studio 中有五个选项卡都命名为 Default.cshtml
令人困惑。
有什么办法可以避免这种命名约定吗?甚至可以将它们从文件夹中取出,使文件看起来像……?
Views\Shared\Components\[ViewComponentName].cshtml
我不知道是否只有一些我可以调整的设置或什么。在大多数情况下,我对 ASP.NET 还是很陌生,而且还在摸索。使用 ASP.NET Framework 而不是 ASP.NET Core 是 一个选项,尽管我不想这样做,因为很多样板文件已经完成。
The documentation on ViewComponents 是这样说的:
We recommend you name the view file Default.cshtml and use the Views/Shared/Components/{View Component Name}/{View Name} path.
这让我觉得有办法绕过这个限制,但它没有具体说明它是如何工作的或者它看起来像什么。
和 Nic 一样,我同意有几个到几十个名为 default.cshtml 的文件很烦人。更何况是有几个到几十个文件夹,每个文件夹中只有一个文件
Components/ViewComponentName/default.cshtml
Components/AnotherViewComponentName/default.cshtml
Components/AThirdViewComponentName/default.cshtml
et cetera
我理解推荐名称和位置的原因...但我只是不同意并接受后果。对于那些和我一样傲慢态度的人,View() 允许您指定一个视图名称
return View("Schools", items);
如果将视图放在非标准位置,甚至可以指定视图的路径
return View("/Pages/Components/Schools.cshtml", items);
我正在使用 Razor Pages,但我确信这也适用于 Views/Shared/Components。