Ich nehme an, dass Sie Karussell-Elemente unter einem Ordner in Ihrem Inhaltsbaum in Sitecore mit bestimmten Feldern für jedes Karussellelement wie Bild, Titel usw. haben, also sollten Sie Feld in den Karussell-Elementen mit für Link haben:
Name: Link
Typ: GeneralLink
Link jedes Karussell Element auf die richtige Seite, und dann in der Ansicht können Sie die Seite URL lesen:
und Sie können mit dieser Methode zu erhalten Verknüpfen Sie die URL mit der Seite von Ihrer Karussellkomponente ent:
public String LinkUrl(Sitecore.Data.Fields.LinkField lf)
{
switch (lf.LinkType.ToLower())
{
case "internal":
// Use LinkMananger for internal links, if link is not empty
return lf.TargetItem != null ? Sitecore.Links.LinkManager.GetItemUrl(lf.TargetItem) : string.Empty;
case "media":
// Use MediaManager for media links, if link is not empty
return lf.TargetItem != null ? Sitecore.Resources.Media.MediaManager.GetMediaUrl(lf.TargetItem) : string.Empty;
case "external":
// Just return external links
return lf.Url;
case "anchor":
// Prefix anchor link with # if link if not empty
return !string.IsNullOrEmpty(lf.Anchor) ? "#" + lf.Anchor : string.Empty;
case "mailto":
// Just return mailto link
return lf.Url;
case "javascript":
// Just return javascript
return lf.Url;
default:
// Just please the compiler, this
// condition will never be met
return lf.Url;
}
}
und im Karussell-Ansicht:
Sitecore.Data.Fields.LinkField linkField = carouselItem.Fields["Link"];
var pageUrl = linkField.LinkUrl();
Dieser Code ist aus diesem answer