2010-02-01 65 views
1

我有一個[PageDefinitionTypePlugIn] PropertyString(它是一個下拉列表),我想能夠檢測它的父頁面是什麼。通常,Global.EPDataFactory.CurrentPage可以正常返回頁面,但是在創建NEW頁面時,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(在新頁面上是空的btw)的屬性?就像可能是這樣的:Global.EPDataFactory.CurrentPageParent? 我注意到,網址缺少「ID」鍵,而是具有「父」鍵,所以它八九不離十是有道理的,Global.EPDataFactory.CurrentPage返回null,因爲沒有一個真正的頁面尚未 謝謝, 蘭斯 – Lanceomagnifico 2010-02-02 09:18:55

+0

對不起,意識到我讀了你的問題錯了:) 但我不認爲有一個簡單的方法來填充下拉菜單沒有當前頁面對象。 workaroumd可能會讓編輯保存頁面以獲取屬性填充。你能否更多地解釋一下正在保存什麼或者他們可以選擇什麼?也許有另一種方法來解決問題 – Daniel 2010-02-02 14:05:32

+0

自定義屬性是一個填充了值列表的下拉列表。這些值將隨文檔樹中他們正在編輯的頁面的位置而變化。所以我需要知道父親爲了增加樹來找出要提取哪一組值。我已經通過在網址中嗅探「父」來做了一個解決方法,但這是hackey,所以希望能夠取而代之的是「全局」屬性。 – Lanceomagnifico 2010-02-03 12:03:33