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

MVC项目SignUp视图出现NullReferenceException异常求助

解决MVC视图中SignUp页面的NullReferenceException问题

嘿,这个问题我之前刚碰到过,原因其实特别直白——你的SignUp视图在等着接收一个模型对象,但控制器压根没给它传!

问题根源

看你的控制器代码:

public ActionResult SignUp()
{
    ViewBag.Message = "Employee Sign Up";
    return View();
}

这里的return View();没有传入任何模型参数,但你的视图顶部明确声明了@model MVCApp.Models.EmployeeModel,这意味着视图必须拿到一个非null的EmployeeModel实例才能正常渲染。当视图加载时,model是null状态,@Html.EditorFor试图访问model.EmployeeId自然就触发了空引用异常。

修复方法

只需要修改控制器的SignUp方法,返回视图时传入一个新的EmployeeModel实例就行:

public ActionResult SignUp()
{
    ViewBag.Message = "Employee Sign Up";
    // 创建空的模型实例传递给视图
    return View(new EmployeeModel());
}

额外补充

  • 对于GET请求的视图,必须手动传入模型实例,哪怕是空实例也没关系,HtmlHelper方法只要能拿到非null的模型对象,就能正常处理默认值(比如EmployeeId的默认int值0)。
  • 要是处理POST请求,ASP.NET MVC的模型绑定会自动把表单数据填充到模型对象里,这时候不用手动创建实例,直接在方法参数里接收就行,比如[HttpPost] public ActionResult SignUp(EmployeeModel model)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 23:12:44