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

表单提交后跳转报HTTP 404错误,请求技术排查解决

404错误排查与解决

错误原因分析

  1. 表单提交目标与控制器POST Action不匹配
    表单的action指定为CheckRequestsLists,但控制器中处理POST请求的方法被[ActionName("ReuestResource")]重命名,导致POST请求找不到对应的Action方法,触发404。

  2. 跳转逻辑存在问题
    即使POST方法执行,RedirectToAction("CheckRequestsLists", test)会尝试跳转到CheckRequestsLists的GET方法,但:

  • 可能不存在对应的GET CheckRequestsLists Action;
  • 直接将集合test作为路由参数传递,路由系统无法解析,导致跳转后依然404。
  1. 参数硬编码问题
    代码中硬编码Submitted_By == "phuuser",没有使用表单提交的实际用户值,不符合业务逻辑。

解决步骤

1. 修正表单提交目标

将表单的action改为控制器中定义的POST Action名称:

<form action="@Url.Action("ReuestResource", "Home")" method="post" >
    <!-- 其余表单内容不变 -->
</form>

2. 修正控制器逻辑

更新POST方法,接收表单参数并正确传递数据到GET视图:

[HttpPost]
[ActionName("ReuestResource")]
public ActionResult CheckRequestsLists(string Submitted_By)
{
    // 使用表单提交的用户值查询数据
    var requestsList = Requestsdbo.Requests.Where(x => x.Submitted_By == Submitted_By).ToList();
    // 用TempData临时存储数据,传递到GET方法
    TempData["RequestsList"] = requestsList;
    // 跳转到GET类型的CheckRequestsLists Action
    return RedirectToAction("CheckRequestsLists");
}

// 添加对应的GET Action,用于渲染视图
public ActionResult CheckRequestsLists()
{
    // 从TempData获取数据,转为对应模型类型
    var requests = TempData["RequestsList"] as List<Requests>;
    // 将模型传递给视图
    return View(requests);
}

3. 确保视图存在

在Home控制器对应的视图文件夹下,创建CheckRequestsLists.cshtml视图,接收并展示模型数据:

@model List<Requests>

<h2>所有请求列表</h2>
@if(Model != null && Model.Count > 0)
{
    <table>
        <!-- 这里根据你的模型字段渲染表格内容 -->
        <tr>
            <th>提交人</th>
            <!-- 其他字段列 -->
        </tr>
        @foreach(var item in Model)
        {
            <tr>
                <td>@item.Submitted_By</td>
                <!-- 其他字段内容 -->
            </tr>
        }
    </table>
}
else
{
    <p>暂无请求数据</p>
}

4. 额外检查

  • 确认Home控制器类存在,且继承自Controller;
  • 检查路由配置(RouteConfig.cs)是否为默认路由:
routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
  • 修正ActionName的拼写错误(如果是笔误:ReuestResource → RequestResource,需同步修改表单和控制器的名称)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:57:29