更改 ASP.Net Core 5 中的默认页面

Posted

技术标签:

【中文标题】更改 ASP.Net Core 5 中的默认页面【英文标题】:Changing default page in ASP.Net Core 5 【发布时间】:2021-12-16 23:27:49 【问题描述】:

相关主题:

Setting a new landing page in ASP.NET Core MVC

Razor Pages Default Page in aspnetcore 2

以最简单的方式,我创建一个新的 Asp.net razor 页面项目并创建一个名为“Identity”的文件夹和两个 Razor 页面,如下所示:

并像这样更改TaskSelection 页面的路由:

现在我想更改此 Web 项目的第一个登录页面,但我不想:

    删除索引页

    调用Get方法时从索引页面重定向

这段代码我写在ConfigureServices:

services.AddMvc().AddRazorPagesOptions(options =>

    options.Conventions.AddPageRoute("/Identity/TaskSelecttion", "/Identity/TaskSelecttion");
);

但它返回到索引页面!!!。

如何将默认登录页面从索引更改为TaskSelection 页面?

谢谢

【问题讨论】:

你测试的网址是什么? 当您执行 options.Conventions.AddPageRoute("/Identity/TaskSelection", "x") 时,localhost:port/x 会将您带到 Identity/TaskSelection.cshtml。您可以像 options.Conventions.AddPageRoute("/Identity/TaskSelection", "") 一样设置它,这样当您输入 localhost:port/ 时,您会得到 Identity/TaskSelection.cshtml 作为默认页面。 @mxmissile 我刚刚运行项目,网址是https://localhost/ 【参考方案1】:

我像这样更改了options

services.AddMvc().AddRazorPagesOptions(options =>

    options.Conventions.AddPageRoute("/Identity/TaskSelection", "");
);

但我收到了这个错误:

AmbiguousMatchException:请求匹配多个端点。火柴: /身份/任务选择 /索引

所以我像这样更改索引页面的路由:

成功了

【讨论】:

以上是关于更改 ASP.Net Core 5 中的默认页面的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.Net Core 应用程序中更改默认页面

更改 Angular 和 ASP.NET Core 项目中的默认身份路由

ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程

我想更改 ASP.NET Core 5 MVC 中的路径

如何更改 ASP.NET Core API 中的默认控制器和操作?

将 ASP.NET Core Razor 页面中的默认页面更改为登录页面