2011-02-23 1 views
0

맞춤 모델 바인더를 만들고 싶습니다.맞춤 모델 바인더

20 개의 속성이 있다고 가정 해 보겠습니다. 나는 그 중 단 5 개만 수동으로 묶어야한다. 기본 바인더처럼 자동으로 다른 15 개의 속성을 바인딩하고 싶습니다.

어떻게 든 가능합니까?

답변

2

확실히 적어도 할 수있는 일은 DefaultModelBinder을 상속하고 BindModel(...) 메서드를 재정의하고 base.BindModel(...)을 원하는대로 사용하는 것입니다. 그 후에 다른 것을 위해 당신 만의 바인딩 논리를 제공하십시오.

0

나는 몇일 전에 그런 문제가 있었는데 나는 기본 속성 인 을 생성자 안에 채워서 해결했다. 이 방법으로 나는 "저자"필드가 없어도 문제없이 모델을 전달합니다.

public class Post 
{ 
    private string title; 
    private string author; 
    private string content; 

    public string Title 
    { 
     get { return title; } 
     set { title = value; } 
    } 

    public string Author 
    { 
     get { return author; } 
     set { author = value; } 
    } 

    public string Content 
    { 
     get { return content; } 
     set { content = value; } 
    } 

    public Post() 
    { 
     this.author = "Davis"; 
    } 
}