2010-07-09 3 views
0

풍부한 클라이언트 응용 프로그램에 ASP.NET MVC 모델 바인딩을 채택하고 싶습니다. 한 양식 HTML 입력 이름이 User의 속성의 이름과 일치로, 모델 바인딩이 자동으로 수행, HTML 양식으로 이전ASP.NET MVC에서 사용자 지정 개체로 모델 바인딩을 사용하려면 어떻게해야합니까?

public ActionResult CreateUser(User profile) 

: 나는 다음과 같은 컨트롤러 액션이있다.

모델 바인딩도 경로 데이터를보고 값이 엔티티에 바인딩되도록 querystring을 이해하지만 속성과 일치하는 쿼리 문자열 값을 입력하면 404이 표시됩니다.

나는 ActionResult을 사용할 수 없습니다. 사용자 클래스의 속성과 일치하는 매개 변수를 사용하여 경로를 구성해야합니까?

+0

어떤 리치 클라이언트 플랫폼을 사용하고 있습니까? 해당 URL을 게시 또는 가져 오는 중입니까? URL은 정확히 어떻게 보입니까? –

+0

풍부한 클라이언트가 Silverlight 인 Mauricio에게 감사드립니다. 프로젝트가 단지 킥 스타트 일 때까지는 클라이언트에서 아무런 작업도 수행되지 않았습니다. 우리는 현재 백 엔드를 구축하고 있습니다. 알림 주셔서 감사합니다, 이전 질문을 수락합니다 – Matthew

답변

0

항상 사용자 정의 모델 바인더 (IModelBinder 인터페이스)를 구현할 수 있습니다.

ModelBinders.Binders[typeof(User)] = new MyUserModelBinder(); 

그러나 아마 처음 어떻게 DefaultModelBinder 일을 찾아야한다 :

public ActionResult CreateUser([ModelBinder(typeof(MyUserModelBinder))]User profile) 

또는 응용 프로그램 시작에 글로벌 모델 바인더로 등록 : 그럼 당신은 다음과 같이 사용할 수 있습니다.
"profile.Name", "profile.Gender"와 같은 입력 필드에 이름을 지정하면 제대로 작동합니다.