C# 使模型属性可选
我正在开发asp.net MVC 3应用程序,并创建了一个模型。我使用的是实体框架4.1代码优先的方法。我有一个这样的财产:C# 使模型属性可选,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我正在开发asp.net MVC 3应用程序,并创建了一个模型。我使用的是实体框架4.1代码优先的方法。我有一个这样的财产: [Required] [Display(Name = "Email Address")] [DataType(DataType.EmailAddress)] [RegularExpression(@"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage = "Invalid Email Address
[Required]
[Display(Name = "Email Address")]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
我在两个视图中使用它。我想在一个视图中使其成为必需的,但在另一个视图中,我想使其成为可选的
对此有什么建议吗?不要将类直接公开给视图,对每个页面使用一个视图模型,并具有不同的属性。然后映射到控制器中的ef类型
public class Page1ViewModel
{
[Required]
[Display(Name = "Email Address")]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage= "Invalid Email Address")]
public string Email { get; set; }
//Other properties
}
public class Page2ViewModel
{
[Display(Name = "Email Address")]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
//Other properties
}