You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 3.1 Razor Pages:如何从Index页自动重定向至Login页?

解决ASP.NET Core 3.1 Razor Pages自动从Index重定向到Login的问题

首先,你之前的实现思路存在几个问题:在构造函数里调用OnPostRedirect1()是错误的(构造函数仅负责初始化对象,不处理HTTP请求逻辑),而且OnPost方法是用来处理POST请求的,默认访问Index页面时发起的是GET请求,所以这个方法根本不会被触发。

下面给你两种简单有效的实现方式:

方法一:在Index页的OnGet方法中直接重定向

这是最直接的方式,因为用户访问Index页面时默认发起的是GET请求,我们只需要在OnGet方法里返回重定向结果即可:

public class IndexModel : PageModel
{
    public IActionResult OnGet()
    {
        // 重定向到Login页面
        return RedirectToPage("Login");
    }
}

同时你可以删掉Index.cshtml里那个隐藏的表单,因为完全不需要它来实现自动重定向。

方法二:修改默认路由直接指向Login页面

如果不想经过Index页的重定向,你可以直接修改项目的路由配置,把默认根路径的请求直接导向Login页面。

在Startup.cs的Configure方法中,修改端点配置:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 其他中间件配置...

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        // 设置根路径"/"直接重定向到Login
        endpoints.MapGet("/", context => context.Response.Redirect("/Login"));
    });
}

这样用户访问网站根路径时,会直接跳转到Login页面,完全绕开Index页。

内容的提问来源于stack exchange,提问作者devman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:37:31