在 ASP.NET Core Razor Pages 中重命名 Pages/Shared 目录
Rename Pages/Shared directory in ASP.NET Core Razor Pages
我正在使用 ASP.NET Core 5 Razor Pages。通用模板进入 Pages/Shared
,但我需要将其重命名为 Pages/Foo
。
如何指示运行时在 Pages/Foo
中查找文件?
我认为在 Startup.ConfigureServices()
中是可能的:
services.AddRazorPages(options => {
options.Conventions.??? // what goes here?
});
用于定位 Razor Pages 视图的路径在 PageViewLocationFormats
中定义,它是 RazorViewEngineOptions
的 属性。您可以操纵此集合来自定义这些路径。
这是一个例子:
services.AddRazorPages()
.AddRazorOptions(o =>
{
var indexOfPagesShared = o.PageViewLocationFormats.IndexOf("/Pages/Shared/{0}.cshtml");
o.PageViewLocationFormats.RemoveAt(indexOfPagesShared);
o.PageViewLocationFormats.Insert(indexOfPagesShared, "/Pages/Foo/{0}.cshtml");
});
修改列表的方法有很多,但这个例子展示了如何用 /Pages/Foo
替换现有的 /Pages/Shared
路径。它对根 (/Pages
) 和文件扩展名进行了假设,但这些都是典型的。
请注意,如果您使用区域,还有一个 AreaPageViewLocationFormats
属性。
我正在使用 ASP.NET Core 5 Razor Pages。通用模板进入 Pages/Shared
,但我需要将其重命名为 Pages/Foo
。
如何指示运行时在 Pages/Foo
中查找文件?
我认为在 Startup.ConfigureServices()
中是可能的:
services.AddRazorPages(options => {
options.Conventions.??? // what goes here?
});
用于定位 Razor Pages 视图的路径在 PageViewLocationFormats
中定义,它是 RazorViewEngineOptions
的 属性。您可以操纵此集合来自定义这些路径。
这是一个例子:
services.AddRazorPages()
.AddRazorOptions(o =>
{
var indexOfPagesShared = o.PageViewLocationFormats.IndexOf("/Pages/Shared/{0}.cshtml");
o.PageViewLocationFormats.RemoveAt(indexOfPagesShared);
o.PageViewLocationFormats.Insert(indexOfPagesShared, "/Pages/Foo/{0}.cshtml");
});
修改列表的方法有很多,但这个例子展示了如何用 /Pages/Foo
替换现有的 /Pages/Shared
路径。它对根 (/Pages
) 和文件扩展名进行了假设,但这些都是典型的。
请注意,如果您使用区域,还有一个 AreaPageViewLocationFormats
属性。