如何修改ASP.NET Core Identity的邮箱确认提示消息
自定义ASP.NET Core 5 Identity邮箱确认提示的实现方法
完全支持自定义该提示内容,你找不到对应文件的核心原因是:ASP.NET Core Identity的默认UI以Razor类库(RCL)的形式打包发布,不会默认展开到项目目录中,因此直接检索项目文件无法定位到默认提示的来源。
实现步骤
1. 提取ConfirmEmail页面到项目
默认RCL中的页面无法直接修改,需要先通过基架工具将对应页面提取到你的项目中,有两种操作方式:
- Visual Studio 操作(GUI):
- 右键项目 → 选择「添加」→「新基架项」
- 左侧分类选择「Identity」→ 选择「Identity页面」→ 点击「添加」
- 配置窗口中:
- 仅勾选列表中的
Account/ConfirmEmail项 - 选择项目现有的Identity DbContext(通常为
ApplicationDbContext) - 保持布局页等默认配置即可
- 仅勾选列表中的
- 点击「添加」完成生成
- .NET CLI 操作(适合无GUI环境):
先确保项目已安装Microsoft.VisualStudio.Web.CodeGeneration.DesignNuGet包,然后执行以下命令(替换为你自己的项目命名空间和DbContext):dotnet aspnet-codegenerator identity -dc YourApp.Models.ApplicationDbContext --files "Account.ConfirmEmail"
生成完成后,你可以在项目的Areas/Identity/Pages/Account/路径下找到可编辑的ConfirmEmail.cshtml文件。
2. 修改提示内容
打开ConfirmEmail.cshtml,找到硬编码的默认提示文本confirm email,替换为自定义内容即可。例如:
原默认代码类似:
<h2>Confirm email</h2>
可替换为:
<h2>邮箱验证成功</h2> <p>感谢完成注册,现在你可以正常使用平台所有功能了。</p>
补充说明
- 本次操作仅提取
ConfirmEmail单个页面,不会影响登录、注册、找回密码等其他Identity功能。运行时Razor Pages的加载优先级为:项目内的自定义页面 > 类库中的默认页面,因此修改后会直接生效。 - 如果你手动调整过Identity的路由结构(例如未使用默认Areas区域路由,将Identity页面放置在项目根目录的
Identity/Account/下),只需将生成的ConfirmEmail文件移动到对应路径、匹配现有路由规则即可。
内容的提问来源于stack exchange,提问作者Sara Payne
相关产品推荐
相关产品推荐

