C# ASP.NET MVC中绑定对象的可选属性

C# ASP.NET MVC中绑定对象的可选属性,c#,asp.net-mvc,modelbinders,C#,Asp.net Mvc,Modelbinders,我正在尝试构建一个新的客户表单,因此我使用默认的模型绑定器来构建我的客户对象: public ActionResult New(Customer customer) { ... } 唯一的问题是我在Customer对象上有一些不需要的属性。当我将这些字段留空时,ASP.NET MVC会自动抛出模型错误,声明需要一个值 如何向框架表明这些属性是可选的?我不是100%,但使它们可以为null应该可以工作。我不是100%,但使它们可以为null应该可以工作。我也有同样的问题,我找到了基本类型的解决方

我正在尝试构建一个新的客户表单,因此我使用默认的模型绑定器来构建我的客户对象:

public ActionResult New(Customer customer) { ... }
唯一的问题是我在Customer对象上有一些不需要的属性。当我将这些字段留空时,ASP.NET MVC会自动抛出模型错误,声明需要一个值


如何向框架表明这些属性是可选的?

我不是100%,但使它们可以为null应该可以工作。

我不是100%,但使它们可以为null应该可以工作。

我也有同样的问题,我找到了基本类型的解决方案,即通过使变量可以为null,例如

public virtual int? AnotherId {get; set;}
public virtual string? Name {get; set;}
但是,对于作为对象的属性,我无法理解它。我还是有问题

public virtual Sponsor Sponsor { get; set; }

我也有同样的问题,我找到了原语类型的解决方案,那就是使变量为null,例如

public virtual int? AnotherId {get; set;}
public virtual string? Name {get; set;}
但是,对于作为对象的属性,我无法理解它。我还是有问题

public virtual Sponsor Sponsor { get; set; }

虽然如此,但我不能在电脑前检查有效性。尽管如此,我不能在电脑前检查有效性。