将 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.cshtml
和 Home.cshtml
文件中的 @page
指令编辑为 configure the routes:
/* Home.cshtml.cs */
@page "/"
/* Index.cshtml.cs */
@page "/Index"
这对两个页面应用了显式路由,因此 Home
Razor Pages 页面成为根页面,而 Index
页面仅映射到 /Index
.
请注意,使用这种方法,不需要调用问题中显示的 AddPageRoute
。
我正在更改默认页面
services.AddRazorPages(options =>
{
//...
}).AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Home", "");
});
但是出现异常
AmbiguousMatchException: The request matched multiple endpoints. Matches:
/Home
/Index
我能做什么?
一个选项是将 Index.cshtml
和 Home.cshtml
文件中的 @page
指令编辑为 configure the routes:
/* Home.cshtml.cs */
@page "/"
/* Index.cshtml.cs */
@page "/Index"
这对两个页面应用了显式路由,因此 Home
Razor Pages 页面成为根页面,而 Index
页面仅映射到 /Index
.
请注意,使用这种方法,不需要调用问题中显示的 AddPageRoute
。