重命名Pages/共享目录.. NET Core Razor页面



我正在使用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属性。

最新更新