2013-09-06 7 views
6

Ich muss die LinkURL der Blog-Seite mit einem Link-Button auf der Startseite binden. Was ich gemacht habe, wurde tatsächlich gefunden, dass die Page ID und eine Seitenreferenz verwendet werden.EpiServer wie bekommt man die Link URL einer bestimmten Seite?

Das ist ziemlich einfach, aber ich bin nicht glücklich, dass die Page ID ist hart codiert. Gibt es einen besseren Weg, dies zu tun, wie den Namen Seite für Seite zu bekommen? oder anders?

Vielen Dank im Voraus :)

+0

Ich denke Andreas Antwort sollte akzeptiert werden. :) –

Antwort

9

würde ich eine Immobilie auf der Startseite vom Typ „Seite“ erstellen, die die Eigenschaft bedeutet, dass die Art PageReference haben. Dann ist es nicht mehr fest codiert.

Es ist auch üblich, solche "Einstellungen" -Eigenschaften auf einen separaten Einstellungs-Seitentyp zu verschieben, der selbst über eine Eigenschaft von der Wurzel oder der Startseite (die Konstanten sind) verbunden ist.

Ich schreibe aus dem Speicher, also entschuldigen Sie irgendwelche Fehler im Code.

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

Wo SettingsPage und BlogPage

public virtual PageReference xxxPage {get; set; } 

in Ihrer Seite Typklasse definiert sind.