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; }
....
}
}
正如你所看到的,我在每个场地都做了准备,一切都是公开的。但当我调试它时,只要我找到了与模型有关的任何东西,编译器就会抱怨"对象引用没有设置为对象的实例。"
这里少了什么?
确保您已经将一个模型从呈现它的控制器操作传递到此视图:
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视图(模型);}