2013-09-06 15 views
6

मुझे प्रारंभ पृष्ठ पर एक लिंक बटन के साथ ब्लॉग पेज के लिंकURL को बांधना होगा। मैंने जो किया वह वास्तव में उस पृष्ठ आईडी को मिला और इसका उपयोग करके एक पृष्ठ संदर्भ प्राप्त किया।EpiServer किसी विशिष्ट पृष्ठ का लिंक URL कैसे प्राप्त करें?

PageReference BlogPageReference = new PageReference(21); 

PageData BlogPage = GetPage(BlogPageReference); 

var url = BlogPage.LinkURL; 

यह बहुत सीधे आगे है, लेकिन मुझे खुशी नहीं है कि पेज आईडी हार्ड कोड किया गया है। क्या ऐसा करने का कोई बेहतर तरीका है, पेज पेज के आधार पर पृष्ठ प्राप्त करना? या किसी अन्य तरीके से?

अग्रिम में :)

+0

मुझे लगता है कि एंड्रियास का जवाब स्वीकार किया जाना चाहिए। :) –

उत्तर

9

धन्यवाद मैं की जिसका मतलब है कि संपत्ति प्रकार PageReference होगा प्रकार "पृष्ठ", प्रारंभ पृष्ठ पर एक संपत्ति बन जाएगा। तब यह अब हार्डकोड नहीं है।

ऐसी "सेटिंग्स" गुणों को एक अलग सेटिंग्स पृष्ठ प्रकार में स्थानांतरित करना भी आम है जो रूट या स्टार्टपेज (जो स्थिरांक हैं) से किसी संपत्ति के माध्यम से जुड़ा हुआ है।

मैं स्मृति से लिख रहा हूं ताकि कोड में किसी भी गलती का बहाना हो।

var startPage = DataFactory.Instance.Get<StartPage>(PageReference.StartPage); 
var settingsPage = DataFactory.Instance.Get<SettingsPage>(startPage.SettingsPage); 
var blogPageRef = settingsPage.BlogPage; 

कहाँ SettingsPage और BlogPage अपने पृष्ठ प्रकार कक्षा में

public virtual PageReference xxxPage {get; set; } 

परिभाषित कर रहे हैं।

संबंधित मुद्दे