Пример #1
0
 /// <summary>
 /// Add canonical URL element to the <![CDATA[<head>]]>
 /// </summary>
 /// <param name="html">HTML helper</param>
 /// <param name="part">Canonical URL part</param>
 /// <param name="pageHeadBuilder"></param>
 public static void AddCanonicalUrlParts(this HtmlHelper html, string part, 
     IPageHeadBuilder pageHeadBuilder = null)
 {
     if (pageHeadBuilder == null)
         pageHeadBuilder = EngineContext.Current.Resolve<IPageHeadBuilder>();
     pageHeadBuilder.AddCanonicalUrlParts(part);
 }
Пример #2
0
        /// <summary>
        /// Add canonical URL element to the <![CDATA[<head>]]>
        /// </summary>
        /// <param name="html">HTML helper</param>
        /// <param name="part">Canonical URL part</param>
        /// <param name="withQueryString">Whether to use canonical URLs with query string parameters</param>
        public static void AddCanonicalUrlParts(this IHtmlHelper html, string part, bool withQueryString = false)
        {
            IPageHeadBuilder pageHeadBuilder = ServiceProviderFactory.ServiceProvider.GetService <IPageHeadBuilder>();

            if (withQueryString)
            {
                //add ordered query string parameters
                System.Collections.Generic.Dictionary <string, string> queryParameters = html.ViewContext.HttpContext.Request.Query.OrderBy(parameter => parameter.Key)
                                                                                         .ToDictionary(parameter => parameter.Key, parameter => parameter.Value.ToString());
                part = QueryHelpers.AddQueryString(part, queryParameters);
            }

            pageHeadBuilder.AddCanonicalUrlParts(part);
        }