ASP.NET Core 5.0中_LoginPartial渲染的登录注册功能点击无响应如何解决
问题排查步骤
- 补充Identity UI和路由配置
你当前只注册了Identity核心服务,没有引入默认的Identity UI页面,也没有映射Razor Pages路由,是该问题最常见的诱因。修改ConfigureServices方法:
之后在请求管道的端点配置块(你贴出的中间件代码之后的public void ConfigureServices(IServiceCollection services) { services.AddDbContext<AppDbContext.TestDbContext>(options => options.UseSqlServer( Configuration.GetConnectionString("Default"))); services.AddControllersWithViews(); // 替换原有AddIdentity代码,AddDefaultIdentity会自动引入默认登录注册UI services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddRoles<IdentityRole>() .AddEntityFrameworkStores<AppDbContext.TestDbContext>(); // 新增Razor Pages服务支持 services.AddRazorPages(); }UseEndpoints部分)新增Razor Pages路由映射:app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); // 新增此行映射Identity相关的Razor Pages路由 endpoints.MapRazorPages(); }); - 检查布局页前端依赖
默认_LoginPartial的交互逻辑依赖jQuery和Bootstrap,确认你的_Layout.cshtml中已经正确引入这两个库,也可以打开浏览器F12控制台,点击登录按钮时查看是否存在JS报错。 - 验证数据库配置
确认你已经执行过Identity的结构迁移并更新到数据库,包管理器控制台依次执行:
打开数据库确认已生成AspNetUsers、AspNetRoles等Identity相关表,同时Add-Migration CreateIdentitySchema Update-DatabaseAddEntityFrameworkStores中引用的TestDbContext命名空间正确,无编译错误。 - 验证链接有效性
右键页面上的登录按钮复制链接地址,确认链接格式为/Identity/Account/Login,直接在地址栏输入该地址查看是否能正常打开:如果可以打开说明是按钮点击交互问题,如果返回404说明路由配置仍存在问题。
内容的提问来源于stack exchange,提问作者fav anime amir
相关产品推荐
相关产品推荐

