복잡한 동작 매개 변수의 모델 바인딩을 해제 할 수있는 특성이 있습니까?복잡한 작업 매개 변수에 대한 asp.net MVC의 바이 패스 모델 바인더?
내 시나리오는 다음과 같습니다. SQL에 Linq를 사용하지만 생성 된 클래스가 인터페이스를 구현하도록합니다. 예를 들어, IUser. 내 컨트롤러 동작 중 일부는 IUser 매개 변수를 허용하고 일부 뷰는 IUser 모델을 바인딩하지만 기본 모델 바인더가 IUser 구성 요소를 구성하는 것을 원하지 않습니다. 나는 그것을 위해 Action Filters를 사용한다. 이 배경의 생각은 작업에 사용자 세부 정보가 필요한 경우 작업 필터는 작업이 호출되기 전에 데이터베이스에서 가져옵니다.
DefaultModelBuilder가 실행될 때 발생하는 오류를 해결하기 위해 CreateModel에서 Null을 반환하는 null 모델 바인더를 만들었습니다.
ModelBinderDictionary binders = System.Web.Mvc.ModelBinders.Binders;
binders[typeof(IUser)] = new NullModelBinder();