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

时间:2019-05-13 11:31:03

标签: .net-core razor-pages

我正在使用ASP.NET Core Razor页面将默认页面从/ Home / Index更改为/ Identity / Account / Login,但是它始终将/ Home页面作为默认页面加载。

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddRazorPagesOptions(options =>
                {
                    options.Conventions.Clear();
                    options.AllowAreas = true;
                    options.Conventions.AddAreaPageRoute("Identity", "/Login", "/Identity/Account/Login");
                });

它应该将登录页面模型作为默认页面加载。请帮助我解决以上问题。等待您的快速回复。

2 个答案:

答案 0 :(得分:1)

AddAreaPageRoute的参数为areaNamepageNameroute

要将区域Identity中的默认页面设置为/IdentityAccount/Login,您必须调用

options.Conventions.AddAreaPageRoute("Identity", "/Identity/Account/Login", "");

如果要设置页面范围的默认页面,应调用

options.Conventions.AddPageRoute("/Identity/Account/Login", "");

默认页面位于路线""

答案 1 :(得分:1)

要将站点的根目录映射到ASP.Net Core(v2.1及更高版本)中的/Identity/Account/Login页,您可以按照以下说明进行操作:

  1. 撤消您在ConfigureServices()方法中所做的更改。 (即.AddRazorPagesOptions(...)

  2. Login.cshtml 模板文件顶部的@page声明更改为@page "/"

  3. 如果尚未删除 Index.cshtml Index.cs 页面文件。

步骤1用于清理。

第2步是将登录配置为根路径/。 (更多信息here

第3步是必要的,因为如果未删除 Index 页文件,它们将按照约定映射到根路径,并且与第2步中的更改冲突。这将引发{{ 1}}浏览到根路径。