private string GeneratePageUrl(long pageNumber)
        {
            var routeValues = RouteValues.ToDictionary(
                kvp => kvp.Key,
                kvp => (object)kvp.Value,
                StringComparer.OrdinalIgnoreCase);

            if (!routeValues.ContainsKey(PageNumberParam))
            {
                routeValues.Add(PageNumberParam, pageNumber);
            }

            IEnumerable <KeyValuePair <string, StringValues> > blockedQuery = Enumerable.Empty <KeyValuePair <string, StringValues> >();

            if (PreserveAmbientQueryString)
            {
                blockedQuery = AddCurrentQueryString(routeValues);
            }


            if (Route != null)
            {
                return(AppendBlockedQuery(urlHelper.Link(Route, routeValues), blockedQuery)); // endpoint route return null when no route be found
            }
            else if (BaseHref != null)
            {
                if (BaseHref.StartsWith("~/"))
                {
                    BaseHref = urlHelper.Content(BaseHref);
                }
                var start = "?";
                if (BaseHref.Contains("?"))
                {
                    start = "&";
                }

                return($"{BaseHref}{start}{routeValues.Select(x => $"{x.Key}={x.Value}").Aggregate((current, next) => $"{current}&{next}")}");
            }

            //========================================
            //    it seems no need for the pure number
            //=========================================

            //return pageNumber.ToString();

            return(AppendBlockedQuery(urlHelper.Action(Action, Controller, routeValues), blockedQuery)); // endpoint route return null when no route be found
        }
Esempio n. 2
0
        protected override void OnPreRender(EventArgs e)
        {
            List <string> settings = new List <string>();

            settings.Add("baseHref: '" + ResolveUrl(BaseHref) + "'");
            if (Height != Unit.Empty)
            {
                settings.Add("height: '" + Height + "'");
            }
            if (Width != Unit.Empty)
            {
                settings.Add("width: '" + Width + "'");
            }
            if (Toolbar != "")
            {
                settings.Add("toolbar: '" + Toolbar + "'");
            }
            if (ContentsCss != "")
            {
                settings.Add("contentsCss: '" + (ContentsCss.StartsWith("~") ? ResolveUrl(ContentsCss) : ContentsCss) + "'");
            }

            ScriptManager.RegisterClientScriptInclude(this, this.GetType(), "ckeditorScript", ResolveUrl(BaseHref + (BaseHref.EndsWith("/") ? "" : "/") + "ckeditor.js"));
            ScriptManager.RegisterStartupScript(this, this.GetType(), "ckeditorLoad", "CKEDITOR.replace('" + ClientID + "', { " + String.Join(", ", settings.ToArray()) + " });", true);

            base.OnPreRender(e);
        }