2010-02-01 7 views
1

[PageDefinitionTypePlugIn] PropertyString (드롭 다운 목록)이 있는데 부모 페이지가 무엇인지 감지하고 싶습니다. 일반적으로 Global.EPDataFactory.CurrentPage는 페이지를 반환하는 데는 문제가 없지만 새 페이지를 만들 때 CurrentPage는 null을 반환합니다.EPiServer에서 PageDefinitionTypePlugIn 속성의 상위 페이지를 가져 오는 방법은 무엇입니까?

현재 페이지가 네비게이션 계층 구조에있는 위치에 따라 드롭 다운의 값 목록을 변경하기 때문에 부모가 무엇인지 컨트롤을 렌더링하기 전에 알아야합니다.

감사합니다, 랜스 다니엘에 대한

답변

2
protected void Application_Start(object sender, System.EventArgs e) { 
EPDataFactory.CreatingPage += new EPiServer.PageEventHandler(OnCreatingPage); 
} 

private void OnCreatingPage(object sender, EPiServer.PageEventArgs e) { 
    e.TargetLink <-- should be the parent 
} 
+0

감사합니다. Global.EPDataFactory.CurrentPage와 비슷한 속성 (새 페이지에 null btw)과 같은 더 쉬운 방법이 있습니까? Global.EPDataFactory.CurrentPageParent? 나는 URL이 'ID'키를 누락 대신 '부모의 키가있는 것을 알, 그래서 정말 페이지 아직 감사합니다, 이 아니기 때문에 그것은 그렇다고 Global.EPDataFactory.CurrentPage가 null 반환 의미가 있습니다 Lance – Lanceomagnifico

+0

죄송합니다, 내가 틀린 질문을 읽었다는 것을 깨달았습니다. :) 하지만 currentpage 객체가 없어도 드롭 다운을 채울 수있는 쉬운 방법이 있다고 생각하지 않습니다. workaroumd는 편집자가 페이지를 저장하여 속성을 채우는 것만 가능할 수 있습니다. 무엇이 구원 받고 있는지 또는 그들이 선택할 수있는 것에 대해 좀 더 설명해 주시겠습니까? 어쩌면 문제에 대한 또 다른 접근법이있을 수 있습니다. – Daniel

+0

사용자 지정 속성은 값 목록으로 채워진 드롭 다운 목록입니다. 값은 문서 트리에서 편집중인 페이지의 위치에 따라 달라집니다. 따라서 트리를 재귀 적으로 가져와 어떤 값 집합을 가져 오는지 알아야합니다. 나는 URL에서 '부모'에 대한 스니핑으로 해결 방법을 수행했지만 해키인데 대신 가져올 수있는 '글로벌'속성이 필요했습니다. – Lanceomagnifico

관련 문제