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

Razor Pages中使用RedirectToPage跳转Identity修改密码页面失败求助

解决Razor Pages中RedirectToPage无法跳转Identity页面的问题

问题原因

Identity默认作为**Razor类库(RCL)**嵌入项目,并非项目内的物理页面,直接使用/Identity/Account/Manage/ChangePassword这种物理路径会找不到页面。

解决方案

1. 使用正确的路由名称跳转

Identity类库中的页面路由不带/Identity前缀,直接使用页面的路由路径即可,同时支持传递参数:

return RedirectToPage("/Account/Manage/ChangePassword", new { /* 这里传入路由参数,比如 userId = 1001 */ });

2. 将Identity页面 scaffolding 到本地项目

如果需要自定义Identity页面或确保路径完全匹配,可将Identity页面生成到项目中:

  • 右键项目 → 选择「添加」→「新建搭建基架项」
  • 在弹出窗口中选择「Identity」→ 点击「添加」
  • 勾选需要生成的页面(比如ChangePassword),选择对应的数据库上下文,完成生成
    生成后,项目中会出现/Identity/Account/Manage文件夹,此时你原来的RedirectToPage("/Identity/Account/Manage/ChangePassword")代码即可正常使用,同时可传递参数。

3. 验证路由配置

确保Program.cs(或Startup.cs)中已正确配置Identity和Razor Pages路由:

// 注册Identity服务
builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

// 启用Razor Pages路由
app.MapRazorPages();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:56:13