2011-01-21 2 views
4

나는이 두 가지가 어떻게 다른지, 장단점은 무엇인지 간단하게 찾고 있습니다.편집기 템플릿과 부분 뷰의 차이점은 무엇입니까?

템플릿으로 할 수있는 부분보기만으로 모든 작업을 수행 할 수 있습니다.

+0

질문은 Razor 또는 MVC3과 특별히 관련이 없으므로 제목을 수정했습니다. 및 키워드 –

+0

죄송 합니다만 귀하의 답변에 맞게 질문을 수정하셨습니까? =) Pls, 다음 링크를 참조하십시오. (그게 내가 말한 것입니다.) : http://stackoverflow.com/questions/4383554/asp-net-mvc-3-razor-templates-vs-renderpartial – Andrei

답변

6

인라인 타임 플레이트가 아닌 EditorTemplates를 언급하는 경우 몇 가지 큰 차이가 있습니다. 먼저 부분 뷰를 사용하면 뷰를 지정해야하며 템플릿은 데이터 객체 유형에서 작동합니다.

둘째, 템플릿이 데이터 유형에서 작동하기 때문에 템플릿을 변경하면 부분보기가 사용되는 곳이 아닌 유형이 사용되는 모든 곳에서 템플릿이 변경됩니다 (일부 경우에도 단점이 될 수 있음). 사례).

세 번째로 템플릿에는 부분보기가 아닌 추가 정보가 전달됩니다. 특히 모델 메타 데이터 (예 : 속성으로 만든 것과 같은)가 템플릿에 전달됩니다.

+0

Do not partials에 ModelMetadata도 가져 옵니까? 나는 ModelMetadata이 ViewData의 속성이고 Display & Editor 템플릿에만 국한된 것은 아니라고 생각했다. – danludwig

+0

@olivehour - 예, 속성이 있지만보기 또는 부분에서 액세스 할 때 null입니다. 템플릿에만 채워집니다. –

0

"인라인 헬퍼"를 의미하는 경우 HtmlHelper 확장 메소드에 해당하는 간단한 방법 일 뿐이지 만 특정보기에서만 사용할 수 있습니다. 반면에 부분보기는 MVC를 위반하지 않고 (컨트롤러를 통해) 더 많은 논리를 가질 수 있으며 여러보기에서 쉽게 다시 사용할 수 있습니다.

+0

아니요, 그는 "EditorFor"및 "DisplayFor"템플릿 시스템을 언급하고 있습니다. –

관련 문제