2013-12-10 2 views
1

MVC 5 웹 사이트에서 T4MVC를 사용하고 있습니다. 보기에, 내가 좋아하는 뭔가가 있습니다T4MVC : 부분 형식이 강력합니까?

@Html.Partial(MVC.Shared.Views.ViewNames.Foo, Model.FooBar) 

푸보기 @model에 정의 된 특정 유형을, 기대를하지만, Model.FooBar는 다른 유형이있을 수 있습니다. 이 오류는 런타임까지 발견되지 않습니다.

우리는 어쩌면 뭔가 같은 ActionLinks을 사용할 수 있습니다처럼 입력 된 방법 부분을 렌더링하는 T4MVC를 사용하는 방법이 있나요 :

@Html.Partial(MVC.Shared.Views.Foo(Model.FooBar)) // Error: Foo() expects Argument of type ... 
+0

필자는보기가 런타임에만 컴파일되는 것으로 믿습니다. 즉, 유형 안전성이 적용될 때입니다. 뷰는 유형에 대해 안전하지만 런타임에만 유효합니다. – Maess

답변

2

짧은 대답은 T4MVC 현재 완전히 강력한 입력을 지원하지 않는다는 것입니다 이 시나리오.

그것은 생각할 수있는 일이지만 도전을 제시합니다. 특히 T4MVC는 모델 유형을 결정하기 위해 뷰를 구문 분석해야합니다. 현재 뷰를 분석하지는 않지만 뷰의 존재를 탐지합니다.

+0

우리가 T4MVC로 전환해야하는 유일한 이유가 될 것입니다. 뷰 모델과 부분 모델 간의 연결 해제가 가장 일반적인 실패 지점 중 하나입니다. 컴파일시에는 감지되지 않습니다. –