144 l1.RenderControl(writer);
145 }
146
147 private void RenderPagingButtons(HtmlTextWriter writer)
148 {
149 int totalPages;
150
151 totalPages = CalculateTotalPages();
152
153 if (totalPages <= 10)
154 {
155 RenderButtonRange(0, totalPages, writer);
156 }
157 else
158 {
159 int lowerBound = (PageIndex - 4);
160 int upperBount = (PageIndex 6);
161
162 if (lowerBound <= 0)
163 lowerBound = 0;
164
165 if (PageIndex <= 4)
166 RenderButtonRange(0, 10, writer);
167
168 else if (PageIndex < (totalPages - 5))
169 RenderButtonRange(lowerBound, (PageIndex 6), writer);
170
171 else if (PageIndex >= (totalPages - 5))
172 RenderButtonRange((totalPages - 10), totalPages, writer);
173 }
174 }
175
176 #endregion
177
178 #region 控件树方法
179 /// <summary>
180 /// 信息标签
181 /// </summary>
182 void AddCountLabel()
183 {
184 countLabel = new Label();
185 countLabel.ID = "countLabel";
186 countLabel.Text = string.Format(text, CalculateTotalPages().ToString("n0"));
187
188 Controls.Add(countLabel);
189 }
190
191 private void AddPageButtons()
192 {
193 pagingLinkButtons = new HyperLink[CalculateTotalPages()];
194
195 for (int i = 0; i < pagingLinkButtons.Length; i )
196 {
197 pagingLinkButtons[i] = new HyperLink();
198 pagingLinkButtons[i].EnableViewState = false;
199 pagingLinkButtons[i].Text = (i 1).ToString();
200 pagingLinkButtons[i].ID = i.ToString();
201 pagingLinkButtons[i].CssClass = linkCss;
202 pagingLinkButtons[i].NavigateUrl = GetHrefString(i);
203
204 Controls.Add(pagingLinkButtons[i]);
205 }
206 }
207
208 /// <summary>
209 /// 首页末页
210 /// </summary>
211 void AddFirstLastHyperLinks()
212 {
213 firstButton = new HyperLink();
214 firstButton.ID = "First";
215 firstButton.Text = "首页";
216 if(PageIndex != 0 && CalculateTotalPages() > 0)
217 {
218 firstButton.NavigateUrl = GetHrefString(0);
219 }
220 else
221 {
222 firstButton.Enabled = false;
223 }
224
225 Controls.Add(firstButton);
226
227 lastButton = new HyperLink();
228 lastButton.ID = "Last";
229 lastButton.Text = "末页";
230 if(PageIndex != CalculateTotalPages() - 1)
231 {
232 lastButton.NavigateUrl = GetHrefString(CalculateTotalPages() - 1);
233 }
234 else
235 {
236 lastButton.Enabled = false;
237 }
238 Controls.Add(lastButton);
239 }
240
241 /// <summary>
242 /// 上一页下一页
243 /// </summary>
244 void AddPreviousNextHyperLinks()
245 {
246 previousButton = new HyperLink();
247 previousButton.ID = "Prev";
248 previousButton.Text = "上一页";
249 if (HasPrevious)
250 {
251 previousButton.NavigateUrl = GetHrefString(PageIndex - 1);
252 }
253 else
254 {
255 previousButton.Enabled = false;
256 }
257 Controls.Add(previousButton);
258
259 nextButton = new HyperLink();
260 nextButton.ID = "Next";
261 nextButton.Text = "下一页";
262 if(HasNext)
263 {
264 nextButton.NavigateUrl = GetHrefString(PageIndex 1);
265 }
266 else
267 {
268 nextButton.Enabled = false;
269 }
270 Controls.Add(nextButton);
271 }
272 #endregion
273
274 #region 私有属性
275 private bool HasPrevious
276 {
277 get
278 {
279 if (PageIndex > 0)
280 return true;
281
282 return false;
283 }
284 }
285
286 private bool HasNext
287 {
288 get
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




