如何修改ASP.NET Core Razor Pages启动默认URL与默认页面
解决ASP.NET Core Razor Pages默认启动URL及跳转问题
1. 修改默认启动URL
打开项目根目录下的Properties/launchSettings.json文件,找到对应启动配置的applicationUrl字段,修改为目标地址:
"applicationUrl": "http://localhost:5000/ABC",
修改后启动应用时,浏览器会自动打开http://localhost:5000/ABC。
2. 配置根路径自动跳转至ABC/Index.cshtml
若需实现访问http://localhost:5000/时自动跳转至ABC/Index.cshtml,可通过以下两种方式实现:
方式一:路由约定映射(无显式重定向)
在Program.cs的AddRazorPages配置中,添加路由约定将根路径直接映射到目标页面。如果根目录存在默认的Index.cshtml,需确保自定义路由优先级更高:
builder.Services.AddRazorPages(options => { // 将根路径""映射到/ABC/Index页面 options.Conventions.AddPageRoute("/ABC/Index", ""); // 可选:让/ABC路径也指向该页面 options.Conventions.AddPageRoute("/ABC/Index", "ABC"); });
方式二:显式重定向规则
在Program.cs的端点配置中,添加根路径的重定向逻辑,无论根目录是否有默认页面,都会强制跳转:
app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); // 访问根路径时重定向到ABC/Index endpoints.MapGet("/", context => { return context.Response.Redirect("/ABC/Index"); }); });
原配置未生效的原因
- 根目录下存在
Index.cshtml,默认路由会优先匹配该页面,覆盖了自定义路由约定 - 路由约定未正确覆盖默认规则,导致自定义映射未生效
内容的提问来源于stack exchange,提问作者ha169169
相关产品推荐
相关产品推荐

