289 {
290 if (PageIndex 1 < CalculateTotalPages() )
291 return true;
292
293 return false;
294 }
295 }
296 #endregion
297
298 #region 帮助方法和公共属性
299
300 /// <summary>
301 /// 获取分页导航按钮的超链接字符串
302 /// </summary>
303 /// <param name="pageIndex">该分页按钮相对应的页索引</param>
304 /// <returns>分页导航按钮的超链接字符串</returns>
305 private string GetHrefString(int pageIndex)
306 {
307 string url = Page.Request.RawUrl;
308
309 if (Regex.IsMatch(url, @"(\d ).shtml", RegexOptions.IgnoreCase))
310 {
311 url = Regex.Replace(url, @"(\d ).shtml", pageIndex ".shtml");
312 }
313
314 if (Regex.IsMatch(url, @"PageIndex=(\d )", RegexOptions.IgnoreCase))
315 {
316 url = Regex.Replace(url, @"PageIndex=(\d )", "PageIndex=" pageIndex.ToString());
317 }
318
319 return Page.Server.UrlPathEncode(url);
320 }
321
322 public int CalculateTotalPages()
323 {
324 int totalPagesAvailable;
325
326 if (TotalRecords == 0)
327 return 0;
328
329 totalPagesAvailable = TotalRecords / PageSize;
330
331 if ((TotalRecords % PageSize) > 0)
332 totalPagesAvailable ;
333
334 return totalPagesAvailable;
335 }
336
337 /// <summary>
338 /// 当前页
339 /// </summary>
340 public int PageIndex
341 {
342 get
343 {
344 int _pageIndex = 0;
345
346 if ((!Page.IsPostBack) && (context.PageIndex > 0))
347 _pageIndex = context.PageIndex;
348 else
349 _pageIndex = Convert.ToInt32(ViewState["PageIndex"]);
350
351 if (_pageIndex < 0)
352 return 0;
353 else
354 {
355 if (_pageIndex > CalculateTotalPages()-1)
356 return CalculateTotalPages()-1;
357 else
358 return _pageIndex;
359 }
360 }
361 set
362 {
363 ViewState["PageIndex"] = value;
364 }
365 }
366
367 /// <summary>
368 /// 每页记录数
369 /// </summary>
370 public int PageSize
371 {
372 get
373 {
374 int pageSize = Convert.ToInt32(ViewState["PageSize"]);
375
376 if (pageSize == 0)
377 {
378 return 10;
379 }
380
381 return pageSize;
382 }
383 set
384 {
385 ViewState["PageSize"] = value;
386 }
387
388 }
389
390 /// <summary>
391 /// 总记录数
392 /// </summary>
393 public int TotalRecords
394 {
395 get
396 {
397 return Convert.ToInt32(ViewState["TotalRecords"]);
398 }
399 set
400 {
401 ViewState["TotalRecords"] = value;
402 }
403 }
404
405 private string text = "共{0}页";
406
407 private string linkCss = "";
408 /// <summary>
409 /// 链接样式
410 /// </summary>
411 public string LinkCss
412 {
413 get { return linkCss; }
414 set { linkCss = value;}
415 }
416
417 private string textCss = "";
418 /// <summary>
419 /// 文字样式
420 /// </summary>
421 public string TextCss
422 {
423 get { return textCss; }
424 set { textCss = value;}
425 }
426
427 public string TextFormat
428 {
429 get
430 {
431 return text;
432 }
433 set
434 {
435 text = value;
436 }
437 }
438
439 #endregion
440 }
441 }
442
在页面上只需要向下面这样写:
1 <%@ Control Language="c#" %>
2 <%@ Register TagPrefix="Anchor" Namespace="MyCompany.Controls" Assembly="MyCompany.Controls" %>
3 <ANCHOR:PAGER id="Pager1" runat="server"></ANCHOR:PAGER>
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




