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

.NET 5 MVC使用Bootstrap5.1打开模态框时@Url.Action始终跳转Index问题

问题根源与修复方案

1. 核心故障原因(路由到Index的直接原因)

你在JavaScript中读取自定义data属性的写法错误:
按钮上定义的属性是data-bs-url,jQuery的data()方法会自动将横杠分隔的属性名转换为驼峰格式,当前代码$(this).data('url')无法读取到目标地址,导致url变量为undefined,$.get方法会默认请求当前页面(也就是Index页)的地址,因此返回的是完整Index页面内容。
修复代码(修改site.js中的取值逻辑):

// 原来的错误写法
// var url = $(this).data('url');
// 修改为正确写法
var url = $(this).data('bsUrl');

2. 其他Bootstrap 5兼容问题修复

你使用的是Bootstrap 5版本,部分Bootstrap 4的旧写法需要适配:

  • 局部视图_CreatePartial.cshtml中的关闭按钮属性data-dismiss="modal"需要改为data-bs-dismiss="modal",否则点击关闭按钮无响应
  • site.js中隐藏模态框的代码modal('.hide')多了冗余的点符号,修改为modal('hide')

3. 路由稳定性优化

局部视图中的表单action属性不要写死相对路径Create,改为@Url.Action("Create","Employees")生成绝对路径,避免部署在子目录、路由规则调整时出现匹配错误。

4. 可选检查项

如果修改后仍有问题,请逐一确认:

  • 控制器类名是否为EmployeesController,拼写正确且继承自Controller基类
  • Startup.cs(.NET 5)中的默认路由规则优先级最高,没有自定义路由提前拦截了/Employees/Create的GET请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:48:04