2013-08-08 3 views
1

필자는 모든 뷰에서 사용하는 많은 기능이 풍부한 HTML Helper 세트를 가지고 있습니다. 나는이 같은 호출로 내 도우미로이 값을 전달면도기 뷰에서 상용구를 제거하는 방법

@{ 
    var metaData = ModelMetadataProviders 
     .Current 
     .GetMetadataForType(null, Model.GetType()); 
} 

:이

@j6h.OutputForEdit(metaData, Html, account => account.User) 

가되어

그러나, 나는 거의 모든보기를 포함해야 상용구의 한 줄이있다 보일러 플레이트 코드를보기 밖으로 이동시키는 방법?

_ViewStart.cshtml 또는 _ViewStart.cs에 코드를 추가하는 것으로 생각했지만 그 자리에서 Model 변수를 사용할 수 없습니다.

은 내가 함수 호출을 통해 변화를 상용구를 만들 수 알고 : 나는 모두 함께 보일러 플레이트 코드를 제거 할 수있는 방법에

var metaData = GetMetaDataForModel(Model); 

어떤 힌트?

답변

1

이 링크는 면도기 뷰의 기본 유형을 만드는 데 대한 통찰력을 제공합니다. http://haacked.com/archive/2011/02/21/changing-base-type-of-a-razor-view.aspx

+0

스콧, 정보 주셔서 감사합니다. 그래도 머리가 위로 올라가면 StackOverflow에서 링크를 게시하는 대신 답변을 요약하는 것이 좋습니다. 원래 웹 사이트가 사라지면 여전히 유용한 질문과 대답이 여기에 있습니다. 즉, 나는 여전히 신용을 줄 것입니다. 다시 한번 감사드립니다. –