컨트롤러에서 상속받은 내 자신의 CustomController 기본 클래스를 만들었습니다. 마찬가지로 ViewDataDictionary에서 상속받은 내 자신의 CustomViewData를 만들었습니다. CustomController 클래스에는 CustomViewData를 매개 변수로 사용하는 ctor가 있습니다.확장 컨트롤러의 ViewData 유형 변경
모든 컨트롤러는 CustomController에서 상속 받고 상속 된 CustomViewData를 전달합니다. 이제 컨트롤러에서 this.ViewData를 호출하고 컨트롤러에서 전달 된 뷰 데이터를 가져오고 싶습니다. 현재 (컨트롤러 클래스에서) ViewDataDictionary가 반환됩니다. 그래서 나는 나의 타입 정보를 잃어 버렸다.
내 CustomController 파생 클래스의 ViewData 속성에 내 입력 정보를 포함시킬 수 있습니까?
은 Gerardo의 제안을 따라 뭔가를 생각하는 것입니다. 너는 정말로 캐스팅 헤이를 피하려고한다. –
네, 가능하다면 그렇게하지 않을 것입니다. 그러나 상속 된 컨트롤러에서 새 키워드를 사용하여 인스턴스를 만든 다음 customController에서 ViewData의 상태를 변경하면 상태가 상속 된 컨트롤러에 표시되지 않습니다. 새로운 키워드는 기본적으로 이전의 것을 숨기고 (접근하기 어렵지만 여전히 존재합니다), 이제 뷰 데이터의 두 인스턴스가있게 될 것입니다. ContengController.ViewData (CotengViewData)이고 하나는 InheritedController.ViewData (InheritedViewData)입니다. –
그 다음 다른 하나를 호출하십시오. as : customViewData 유형의 CustomViewData 속성입니다. –