2012-10-08 2 views
0

내 사용자 엔티티에는 User 레코드를 정의하는 수많은 다양한 속성이 있습니다. 기본 scaffolded edit 및 create 페이지가 생성 된 후에 이제 페이지에 일부 영역을 구현하려고 시도하므로 사용자 프로필의 비슷한 영역을 게시하고 전체 속성 목록을 새로 고치지 않고도 편집하고 업데이트 할 수 있습니다.mvc 컨트롤러 아키텍처 및 모델 바인딩

나는 다음과 같은 별도의 부분적인 전망으로 지역을 분할하고 Ajax.BeginForm (
public partial class UserContact : UserBase 
    { 
     [DataType(DataType.EmailAddress)] 
     [StringLength(255)]   
     public string EmailAddress { get; set; } 

     [DataType(DataType.PhoneNumber)] 
     [StringLength(50)] 
     public string PhoneHome { get; set; } 
      ... 
    } 
    public partial class UserAddress : UserBase 
    { 
     [StringLength(60)] 
     public string AddressLine1 { get; set; } 

     [StringLength(60)] 
     public string AddressLine2 { get; set; } 
      ... 
    } 
    public partial class UserBase 
    { 
     [Key] 
     [Required(ErrorMessage = "User is required")] 
     public System.Guid UserId { get; set; } 
    } 

그냥 binding 키워드를 발견하고 나는 방법 사람들이 사용하는 궁금 @ 사용하는 생각

. 내가 상상 그 별로 유용하지 않으며, Usermodel 전체를 게시 할 때마다 필요한 유효성 검사의 관점에서 볼 때 주 모델을 별도의 모델로 분리하거나 바인드 매개 변수를 사용하여 주 모델을 개별 모델로 분리 할 수 ​​있습니다 (또는 조언 할 수도 있음). 속성의 하위 집합?

+0

보기 모델을 사용하십시오! –

답변

1

내 의견으로는 실제로 모델을 여러 하위 모델로 분할 할 수 있지만 하위 작업으로 작업을 분할해야합니다. 각 작업은 전체 UserBase 클래스가 아니라 해당 하위 클래스에 '바인딩됩니다.

하나의 작업 만 사용하는 경우 바인딩 할 속성과 바인딩 할 속성을 [동적으로] 지정할 수 없다고 생각합니다.