Пример #1
0
 public static string ContentUrl(this UrlHelper urlHelper, EPiServer.SpecializedProperties.LinkItem item)
 {
     var urlResolver = ServiceLocator.Current.GetInstance<UrlResolver>();
     IContent content = urlResolver.Route(new UrlBuilder(item.Href));
     if (content == null)
     {
         return item.Href.Replace("~/", "/");
     }
     return urlHelper.ContentUrl(content.ContentLink);
 }
Пример #2
0
        /// <summary>
        ///     Appends action name to the end of a content url.
        /// </summary>
        /// <param name="urlHelper">UrlHelper instance</param>
        /// <param name="contentLink">ContentReference</param>
        /// <param name="actionName">The action name</param>
        public static string ContentActionUrl(this UrlHelper urlHelper, ContentReference contentLink, string actionName)
        {
            if (ContentReference.IsNullOrEmpty(contentLink))
            {
                return string.Empty;
            }

            var contentUrl = urlHelper.ContentUrl(contentLink);

            if (string.IsNullOrWhiteSpace(actionName) || actionName.Equals("Index", StringComparison.OrdinalIgnoreCase))
            {
                return contentUrl;
            }

            var urlBuilder = new UrlBuilder(contentUrl);
            urlBuilder.Path = VirtualPathUtility.AppendTrailingSlash(urlBuilder.Path) + actionName;
            return urlBuilder.ToString();
        }
Пример #3
0
        /// <summary>
        ///     Creates QueryStringBuilder instance for provided EPiServer page.
        /// </summary>
        /// <param name="urlHelper">UrlHelper instance.</param>
        /// <param name="content">Content for which to create builder.</param>
        /// <returns>Instance of QueryStringBuilder for provided page.</returns>
        public static QueryStringBuilder QueryBuilder(this UrlHelper urlHelper, IContent content)
        {
            if (content == null)
            {
                return QueryStringBuilder.Empty;
            }

            var url = urlHelper.ContentUrl(content.ContentLink);
            return QueryStringBuilder.Create(url);
        }
Пример #4
0
        /// <summary>
        ///     Creates QueryStringBuilder instance for provided EPiServer page.
        /// </summary>
        /// <param name="urlHelper">UrlHelper instance.</param>
        /// <param name="contentLink">ContentReference for which to create builder.</param>
        /// <returns>Instance of QueryStringBuilder for provided page.</returns>
        public static QueryStringBuilder QueryBuilder(this UrlHelper urlHelper, ContentReference contentLink)
        {
            if (ContentReference.IsNullOrEmpty(contentLink))
            {
                return QueryStringBuilder.Empty;
            }

            var url = urlHelper.ContentUrl(contentLink);
            return QueryStringBuilder.Create(url);
        }