Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使模型属性可选_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 使模型属性可选

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

我正在开发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")]
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
}