2011-12-02 7 views
1

내가보기 강하게 지금은 내가 함께 관련 클래스 캄파의 검증을 어떻게 피할 수 있습니다 알고 싶은이않도록 모델 검증

public partial class Usuario 
{ 
    public Usuario() 
    { 
     this.Campana = new HashSet<Campana>(); 
    } 

    public int IDUsuario { get; set; } 
    public int IDPerfil_FK { get; set; } 
    public string Nombre { get; set; } 
    public string Password { get; set; } 
    public bool Activo { get; set; } 

    public virtual Perfil Perfil { get; set; } 
    public virtual ICollection<Campana> Campana { get; set; } 
} 

같이 정의 내 수업 Usario의 입력했다 Usuario 클래스의 Usuario 클래스의 속성과 유효성을 검사 할 때 ModelState.IsValid 모델은 Usuario 클래스와 Campana 클래스의 유효성을 검사하므로

답변

1

보기 모델을 사용하는 것이 올바른 방법입니다.

이미 Usuario 클래스가 있으므로 뷰 모델을 구현합니다. 그러면 뷰에 전달할 속성 만 포함됩니다. 컨트롤러에 이제

public class UsuarioProfileViewModel 
{ 
    public int IDUsuario { get; set; } 
    public string Nombre { get; set; } 
    public bool Activo { get; set; } 

    // Other properties for that view 
} 

: 같은 뭔가

public ActionResult UsuarioProfile(UsuarioProfileViewModel model) { 
{ 
    // Fill the missing properties for the model (when needed) 

    View(model); 
} 

이 방법 만 뷰에 필요한 데이터를 전달합니다. 데이터 주석은 다른 클래스와 동일한 방식으로 뷰 모델에 대해 작동합니다.

model는 MVC에 의해 초기화되어 속성은 routeValues를 통해 들어오는 데이터와 채워집니다, 그래서 당신은 다음과 같이 수행 할 수 있습니다

@Html.Action("UsuarioProfile", new { UsuarioID = 10 })