将 ASP.NET 核心 Razor 页面中的默认页面从索引更改为主页

Change default page in ASP.NET Core Razor Page from Index to Home

我正在更改默认页面

services.AddRazorPages(options =>
{
    //...
}).AddRazorPagesOptions(options =>
{
    options.Conventions.AddPageRoute("/Home", "");
});

但是出现异常

AmbiguousMatchException: The request matched multiple endpoints. Matches:
/Home
/Index

我能做什么?

一个选项是将 Index.cshtmlHome.cshtml 文件中的 @page 指令编辑为 configure the routes:

/* Home.cshtml.cs */
@page "/"
/* Index.cshtml.cs */
@page "/Index"

这对两个页面应用了显式路由,因此 Home Razor Pages 页面成为根页面,而 Index 页面仅映射到 /Index.


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