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

.NET Web应用验证时出现Server Error in '/'应用程序(HTTP 404)

解决.NET MVC验证时出现的404资源未找到错误

看起来你遇到的404问题核心是路由匹配错误和缺少对应的HttpGet Action,我来一步步帮你修复:

问题根源分析

  1. 你的Validation Action只标记了[HttpPost],没有对应的[HttpGet]方法来渲染初始表单页面——当你尝试访问这个页面时,MVC找不到可以响应GET请求的Action,直接返回404。
  2. 默认的Html.BeginForm()会提交到当前请求的路由,如果初始页面不是从Movie/Validation加载的,表单提交的目标地址就会出错,同样触发404。

具体修复步骤

1. 添加HttpGet版本的Validation Action

在你的MovieController里补充一个HttpGet Action,用于返回初始表单View:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using MVCDemon.Models;

namespace MVCDemon.Controllers {
    public class MovieController : Controller {
        // 新增:处理GET请求,渲染初始表单
        [HttpGet]
        public ActionResult Validation()
        {
            // 传递空模型给View,避免NullReferenceException
            return View(new Movie());
        }

        [HttpPost]
        public ActionResult Validation(Movie movie) {
            if (ModelState.IsValid) {
                ViewBag.Name = movie.Name;
            }
            // 把验证后的模型传回View,保留用户已输入的内容
            return View(movie);
        }
    }
}

2. 明确表单提交的目标路由(可选但更稳妥)

修改View里的Html.BeginForm(),指定Action和Controller名称,避免路由匹配歧义:

<div>
    @model MVCDemon.Models.Movie
    @using (Html.BeginForm("Validation", "Movie", FormMethod.Post)) {
        <div>
            @Html.TextBoxFor(m => m.Name)
            @Html.ValidationMessageFor(m => m.Name)
        </div>
        <input type="submit" value="submit" />
    }
</div>
<div>
    @ViewBag.Name
</div>

3. 确认View文件的位置和命名

确保你的View文件放在正确的路径:~/Views/Movie/Validation.cshtml。MVC默认遵循Views/[控制器名]/[Action名].cshtml的查找规则,路径或文件名错误也会导致404。

4. 验证非侵入式配置(可选)

确认Web.config里的客户端验证配置是开启的(默认已开启,可检查确保):

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

做完这些修改后,你访问http://localhost:xxxx/Movie/Validation就能看到表单,提交时如果验证不通过会留在页面显示错误提示,验证通过则展示你输入的电影名称,不会再出现404错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:14:45