2014-04-14 3 views
0

일반 면도기 도우미 함수 인 Html.Partial을 사용하여 공통 HTML이있는 뷰를 렌더링하고 싶습니다.@Html.Partial에서 Sitecore에서

예를 들어 Sitecore Payment Information.cshtml과 Agent Payment Information.cshtml에 두 가지보기가 설정되어 있습니다. Sitecore 렌더링 엔진을 사용하여 렌더링됩니다. 이 뷰들은 모두 Sitecore에서 설정되지 않은 면도 뷰에 넣고 싶고 @ Html.Sitecore()에 따라 @ Html.Partial을 호출하는 것과 매우 유사한 html을 가지고 있습니다. 렌더링()은 나에게 Sitecore에서 필요하지 않은 뷰와 모델을 설정하십시오.

내 질문에, @ Html.Sitecore() .html.Partial() 도우미 메서드 대신 Rendering() 도우미 메서드를 사용해야하는 장면 뒤에 Sitecore에서 수행하는 작업이 있습니까? 모든 것이 잘 작동하는 것으로 보이고 @ Html.Partial 호출이 Sitecore에 설정된 지불 정보보기 또는 에이전트 지불 정보보기 안에 중첩되어 있기 때문에 전체보기가 캐시되어야한다고 생각합니다.

미리 감사드립니다.

답변

0

ORM 용 Glass를 사용하는 MVC 솔루션에서 Html.Partial 작업을하고 있습니다. 여기에는 두 가지 방법이 있습니다. 하나는 부분 모델에 전달되는 가정 모델이 부모 렌더링과 동일하고 다른 하나는 모델을 즉석에서 생성하는 것입니다.

Assumes parent rendering model is passed: 
@Html.Partial("~/Views/Components/MyPartialView.cshtml") 

Instantiates a new model that is passed in: 
@Html.Partial("~/Views/Components/Navigation/SecondaryNavigationRendering.cshtml", new SecondaryNavigation()) 

상위 뷰에는 Sitecore에 매핑 된 모델이 있어야합니다. 보조 뷰는 Sitecore에서 매핑 된 모델을 가지고 있지 않지만 전달되는 모델을 수신하기 위해 입력됩니다 (첫 번째 예제에서는 내 IBasePage 모델이 될 것이고 두 번째 모델은 내 SecondaryNavigation 모델이 될 것입니다).

희망이 도움이됩니다.

+1

Partial Razor 뷰 호출을 설정하는 방법을 알고 있지만 @ Html.Sitecore()를 사용해야하는 이유가 있는지 궁금합니다. @ Html.Partial()에서 Rendering() –

관련 문제