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); }
/// <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(); }
/// <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); }
/// <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); }