我正在使用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");
});
它应该将登录页面模型作为默认页面加载。请帮助我解决以上问题。等待您的快速回复。
答案 0 :(得分:1)
AddAreaPageRoute
的参数为areaName
,pageName
,route
要将区域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
页,您可以按照以下说明进行操作:
撤消您在ConfigureServices()
方法中所做的更改。 (即.AddRazorPagesOptions(...)
)
将 Login.cshtml 模板文件顶部的@page
声明更改为@page "/"
如果尚未删除 Index.cshtml 和 Index.cs 页面文件。
步骤1用于清理。
第2步是将登录配置为根路径/
。 (更多信息here)
第3步是必要的,因为如果未删除 Index 页文件,它们将按照约定映射到根路径,并且与第2步中的更改冲突。这将引发{{ 1}}浏览到根路径。