MVC中的模型未被赋值

本文关键字:赋值 模型 MVC | 更新日期: 2023-09-27 18:26:45

当我试图在MVC项目中为模型的字段赋值时,我收到了错误,"对象引用未设置为对象的实例。"。我的模型(不是强类型的)在我看来是这样引用的:

...Inherits="System.Web.Mvc.ViewPage<Project.Models.MyModel>" %>

当我在视图中访问MyModel时,Intellisense会拾取它的字段。我的模型发布在下面:

namespace Project.Models
{
    public class MyModel
    {
        public int AddressId { get; set; }
        public int AddressTypeId { get; set; }
       ....
    }
}

正如你所看到的,我在每个场地都做了准备,一切都是公开的。但当我调试它时,只要我找到了与模型有关的任何东西,编译器就会抱怨"对象引用没有设置为对象的实例。"

这里少了什么?

MVC中的模型未被赋值

确保您已经将一个模型从呈现它的控制器操作传递到此视图:

public ActionResult SomeAction()
{
    MyModel model = ... fetch your model from somewhere 
    return View(model); // <!-- Notice how the model must be passed to the view
}

显然,从任何地方检索模型的函数都必须确保模型不为空。或者,在访问模型的属性之前,可以在视图中测试模型是否为null,如果为null,则可以呈现一些替代内容。

您必须首先初始化您的模型

例如:

public ActionResult YourAction(){MyModel模型=新的MyModel();return视图(模型);}