2012-01-07 8 views
0

私はasp.net MVC 3アプリケーションで作業しており、モデルを作成しました。私はEntity Framework 4.1のコードを最初に使用しています。私はこのようなプロパティを持っています:モデルプロパティを任意に作成する

[Required] 
[Display(Name = "Email Address")] 
[DataType(DataType.EmailAddress)] 
[RegularExpression(@"[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage = "Invalid Email Address")] 
public string Email { get; set; } 

私は2つのビューでそれを使用しています。 1つのビューで必要にしたいが、他のビューではオプションにしたい。

お願いします。

答えて

1

クラスを直接ビューに公開しないで、ページごとにビューモデルを使用し、そこに異なる属性を設定します。その後、コントローラのefタイプにマップします。

public class Page1ViewModel 
{ 
    [Required] 
    [Display(Name = "Email Address")] 
    [DataType(DataType.EmailAddress)] 
    [RegularExpression(@"[a-zA-Z0-9._%+-][email protected][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._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", ErrorMessage = "Invalid Email Address")] 
    public string Email { get; set; } 

    //Other properties 
} 
関連する問題