protected override void CreateChildControls() { int page_size = PageSize; int current_page = CurrentPage; int total = TotalRecordCount; int total_page = (int)Math.Ceiling((double)total / page_size); _pager_button first = new _pager_button(); first.Text = "第一页"; first.CssClass = "first"; first.Click += new EventHandler(_change_page); first._to_page = 1; Controls.Add(first); int prev_count = 2; for (int i = 0; i < prev_count; i++) { if (current_page - prev_count + i >= 1) { _pager_button prev = new _pager_button(); prev.Text = (current_page - prev_count + i).ToString(); prev._to_page = current_page - prev_count + i; prev.Click += new EventHandler(_change_page); Controls.Add(prev); } } _pager_button current = new _pager_button(); current.Text = current_page.ToString(); current.CssClass = "selected"; current.CommandArgument = current_page.ToString(); current.CommandName = "ToPage"; current._to_page = current_page; current.Click += new EventHandler(_change_page); Controls.Add(current); int next_count = 2; for (int i = 0; i < next_count; i++) { if (current_page + i + 1 <= total_page) { _pager_button next = new _pager_button(); next.Text = (current_page + i + 1).ToString(); next._to_page = current_page + i + 1; next.Click += new EventHandler(_change_page); Controls.Add(next); } } _pager_button last = new _pager_button(); last.Text = "最后一页"; last.CssClass = "last"; last._to_page = total_page; last.Click += new EventHandler(_change_page); Controls.Add(last); HtmlGenericControl info_panel = new HtmlGenericControl("span"); info_panel.InnerHtml = string.Format("共 {0} 页", total_page); Controls.Add(info_panel); HtmlGenericControl clear = new HtmlGenericControl("div"); clear.Attributes.Add("class", "clear"); Controls.Add(clear); ChildControlsCreated = true; }