将 ASP.NET Core Razor 页面中的默认页面从 Index 更改为 Home

Meh*_*hdi 8 c# asp.net-core razor-pages

我正在更改默认页面

services.AddRazorPages(options =>
{
    //...
}).AddRazorPagesOptions(options =>
{
    options.Conventions.AddPageRoute("/Home", "");
});
Run Code Online (Sandbox Code Playgroud)

但发生了异常

AmbiguousMatchException: The request matched multiple endpoints. Matches:
/Home
/Index
Run Code Online (Sandbox Code Playgroud)

我能做些什么?

Kir*_*kin 14

一种选择是编辑和文件@page中的指令来配置路由Index.cshtmlHome.cshtml

/* Home.cshtml.cs */
@page "/"
Run Code Online (Sandbox Code Playgroud)
/* Index.cshtml.cs */
@page "/Index"
Run Code Online (Sandbox Code Playgroud)

这将为两个页面应用显式路由,以便HomeRazor Pages 页面成为根页面,并且该Index页面仅映射到/Index.


AddPageRoute请注意,使用这种方法,不需要对问题中显示的调用。