Alloy.Helpers.UrlHelpers.PageLinkUrl C# (CSharp) Method

PageLinkUrl() public static method

Returns the target URL for a page. Respects the page's shortcut setting so if the page is set as a shortcut to another page or an external URL that URL will be returned.
public static PageLinkUrl ( this urlHelper, PageData page ) : IHtmlString
urlHelper this
page PageData
return IHtmlString
        public static IHtmlString PageLinkUrl(this UrlHelper urlHelper, PageData page)
        {
            var urlResolver = ServiceLocator.Current.GetInstance<UrlResolver>();
            switch (page.LinkType)
            {
                case PageShortcutType.Normal:
                case PageShortcutType.FetchData:
                    return new MvcHtmlString(urlResolver.GetUrl(page.ContentLink));

                case PageShortcutType.Shortcut:
                    var shortcutProperty = page.Property["PageShortcutLink"] as PropertyPageReference;
                    if (shortcutProperty != null && !ContentReference.IsNullOrEmpty(shortcutProperty.ContentLink))
                    {
                        return urlHelper.PageLinkUrl(shortcutProperty.ContentLink);
                    }
                    break;

                case PageShortcutType.External:
                    return new MvcHtmlString(page.LinkURL);
            }
            return MvcHtmlString.Empty;
        }

Same methods

UrlHelpers::PageLinkUrl ( this urlHelper, EPiServer.Core.ContentReference contentLink ) : IHtmlString