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

ASP.NET Core MVC控制器带ID重定向报错:需新增路由吗?

问题分析与解决方案

你当前的代码陷入了无限重定向循环,这是页面报错的核心原因:不管请求是否携带id参数,Privacy Action都会无条件重定向到带id=1234的同一个Action,新请求又会触发相同的重定向逻辑,浏览器因重定向次数过多报错。

不需要新增MapControllerRoute,你的默认路由配置已经支持{controller}/{action}/{id?}的格式,完全匹配Home/Privacy/1234这种URL。只需要修改Privacy Action的逻辑,区分首次请求(无id)和已带id的请求:

public IActionResult Privacy(string? id)
{
    // 如果没有传入id,重定向到带id=1234的Privacy页面
    if (string.IsNullOrEmpty(id))
    {
        return RedirectToAction("Privacy", "Home", new { id = "1234"});
    }
    // 已经有id参数,直接返回视图
    return View();
}

默认路由中的{id?}表示该参数为可选,当访问Home/Privacy/1234时,路由系统会自动把1234绑定到Action的id参数上,此时不会触发重定向,直接返回视图即可正常显示页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:11:06