2015-04-02 138 views
0

在我BLOCKDATA型我已經EpiServer.Url如何設置EpiServer.Url屬性通過

public virtual EpiServer.Url Url { get; set; }

類型的財產從編輯模式下,我能夠設置混凝土PageData實例,但我m不知道如何將它設置爲只有ContentReference的代碼?

在此先感謝您的幫助。

編輯

我發現這樣做的一個方式是通過:

var urlResolver = ServiceLocator.Current.GetInstance<UrlResolver>(); 
int contentReferenceId = 69; 
ContentReference contentRef = new ContentReference(contentReferenceId); 
block.Url = urlResolver.GetUrl(contentRef, language.Code); 

我會很高興,如果有人可以點我一個更好的解決方案,如果有的話。

+0

像約翰建議,你不希望保存一個實際的URL,而只是對內容的引用。 – 2015-04-04 21:31:56

+0

是的,您是對的,但EditMode中的EpiServer.Url屬性可以將其設置爲EpiServer中的頁面鏈接或指向外部頁面的鏈接,甚至是其他內容。這就是爲什麼我沒有接受Johan的答案。 – 2015-04-06 12:29:12

回答

1
publich virtual ContentReference Url { get; set; } 

或者,如果你只想網頁:

publich virtual PageReference Url { get; set; } 
相關問題