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