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

ASP.NET Core MVC中Register/Login页面无法正常工作求助

ASP.NET Core 6.0 Identity注册/登录页面无响应问题排查

问题描述

跟随Tim Corey的《ASP.NET Core MVC》视频教程,基于.NET 6.0搭建了带Identity注册/登录认证的测试项目,但Register和Login页面无法正常显示表单,页面无任何变化:

  • 当前状态:仅显示空白认证区域,无输入框、按钮等表单元素
  • 预期状态:显示完整的注册/登录交互表单

已执行的操作:

  • 按照ASP.NET Core 6.0官方Identity脚手架步骤完成配置
  • 在_Layout.cshtml中添加了对应导航标签
  • 安装了Microsoft.EntityFrameworkCore.Tools NuGet包
    问题仍未解决。

排查与解决办法

1. 确认Identity视图文件完整性

检查项目Areas/Identity/Pages/Account目录下是否存在Register.cshtml、Login.cshtml及对应的后台代码文件(.cshtml.cs)。若文件缺失,重新生成脚手架:

  • Visual Studio中右键项目 → 添加 → 新建搭建基架的项目 → 选择「Identity」→ 勾选注册、登录页面,指定项目DbContext后重新生成。

2. 验证_Layout.cshtml配置正确性

确保导航区域添加了正确的Identity页面路由标签,示例代码:

<ul class="navbar-nav">
    @if (User.Identity.IsAuthenticated)
    {
        <li class="nav-item">
            <a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Logout">退出登录</a>
        </li>
    }
    else
    {
        <li class="nav-item">
            <a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Register">注册</a>
        </li>
        <li class="nav-item">
            <a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Login">登录</a>
        </li>
    }
</ul>

同时确认_ViewImports.cshtml中导入了必要的命名空间:

@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

3. 检查DbContext与Identity服务配置

确保项目DbContext继承自IdentityDbContext,且Program.cs中正确配置Identity服务:

builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

执行数据库迁移命令,确保Identity相关表生成:

Add-Migration InitialCreate
Update-Database

4. 清理项目并重新构建

  • 右键项目 → 清理
  • 删除项目根目录下的bin和obj文件夹
  • 重新生成解决方案后运行测试

5. 检查浏览器控制台错误

打开浏览器开发者工具(F12)→ 控制台标签,查看是否存在静态资源加载错误(如CSS/JS缺失)。默认Identity视图依赖Bootstrap样式,需确保_Layout.cshtml中正确引入相关资源:

<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:52:49