19
제네릭 형식의 모델 바인더를 만들 수 있습니까? 예를 들어, 유형이있는 경우일반 형식의 ASP.NET MVC 모델 바인더
모든 유형의 MyType에서 사용할 수있는 사용자 정의 모델 바인더를 만드는 방법이 있습니까?
감사합니다, 나단
제네릭 형식의 모델 바인더를 만들 수 있습니까? 예를 들어, 유형이있는 경우일반 형식의 ASP.NET MVC 모델 바인더
모든 유형의 MyType에서 사용할 수있는 사용자 정의 모델 바인더를 만드는 방법이 있습니까?
감사합니다, 나단
, BindModel를 오버라이드 (override), ModelBinder를 만들기 유형을 확인하고
public class MyModelBinder
: DefaultModelBinder {
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) {
if (HasGenericTypeBase(bindingContext.ModelType, typeof(MyType<>)) {
// do your thing
}
return base.BindModel(controllerContext, bindingContext);
}
}
은 Global.asax에의 기본에 모델 바인더를 설정해야 할 일을
protected void Application_Start() {
// Model Binder for My Type
ModelBinders.Binders.DefaultBinder = new MyModelBinder();
}
일치하는 일반베이스가 있는지 확인
이 질문은 여전히 구글의 결과에 꽤 높은 순위부터
, 나는 MVC3 함께왔다 아마도 더 나은 솔루션 [모델 바인더 공급자 (http://bradwilson.typepad.com/를 사용하는 것입니다 언급하고 싶습니다 blog/2010/10/service-location-pt9-model-binders.html). 이렇게하면 _particular_ 유형 바인딩을위한 특별한 규칙을 추가하려는 경우 기본 바인더를 바꿀 필요가 없으므로 사용자 정의 모델 바인딩을 훨씬 확장 성있게 만듭니다. –
mvc 2 응용 프로그램에서 모든 유형의 사용자 정의 모델 바인더를 설정하는 방법을 찾기 위해 고심하고있었습니다. 그리고 여기에 해결책이 있습니다! 고마워요! – blazkovicz