MVC帖子没有填充模型

时间:2011-09-07 13:52:34

标签: asp.net-mvc post

我无法弄清楚为什么我的模型没有被填充。发布的所有数据都在Request.Form,但该模型实际上是null

根据this answer on model with collection not populating on postback

  

换句话说,(...)如果缺少任何必填字段,或者值是    以这样的方式提交它们无法转换为必填字段的类型,那么整个对象将保留为null

我已经更改了几种值类型,但我无法使其工作。

这是我的模特:

public class AddModel
{
    //Get properties 
    public Vehicle vehicle; 

    //Post properties 
    [Required(ErrorMessage = "Please enter a start date")]
    public DateTime StartDate; 
    public int? StatusCode; 

    public SelectList StatusCodes()
    {
         ...
    } 
}

你能想到它为什么没有被填充吗?

2 个答案:

答案 0 :(得分:6)

制作AddModel成员Properties - 向字段添加get; set;可以解决您的问题

答案 1 :(得分:2)

根据@ archil的回复,您应该创建公共变量属性。虽然这可能适用于类型,但只要增加复杂性,就会遇到问题。当然对于类,但也可以为可空类型。

模型绑定器使用反射将表单字段解析为模型,并且反射在属性上对公共变量的工作方式不同 - 在这些模型的情况下,the differences will likely be causing the failure here

希望有所帮助 - 并且提示@archil正确回答这个问题(可能),比我早得多!