C#简单实用的翻页

C#

  1 /// <summary>
  2 /// 翻页
  3 /// </summary>
  4 using System.Text;
  5 public class PageTurning
  6 {
  7     #region 构造函数
  8     /// <summary>
  9     /// 翻页
 10     /// </summary>
 11     /// <param name="count">页码总量</param>
 12     /// <param name="showCount">显示数量</param>
 13     /// <param name="index">当前页码</param>
 14     /// <param name="element">显示元素</param>
 15     /// <param name="css">默认样式</param>
 16     /// <param name="cssChecked">选中样式</param>
 17     /// <param name="cssPageTurning">上一页下一页样式</param>
 18     /// <param name="click">翻页事件</param>
 19     public PageTurning(int count, int showCount, int index, string element, string css, string cssChecked, string cssPageTurning, string click)
 20     {
 21         this.Count = count;
 22         this.ShowCount = showCount;
 23         this.Index = index;
 24         this.Element = element;
 25         this.Css = css;
 26         this.CssChecked = cssChecked;
 27         this.CssPageTurning = cssPageTurning;
 28         this.Click = click;
 29     }
 30     #endregion
 31
 32     #region 参数
 33     #region 基本参数
 34     /// <summary>
 35     /// 当前页码
 36     /// </summary>
 37     public int Index { get; set; }
 38     /// <summary>
 39     /// 页码总量
 40     /// </summary>
 41     public int Count { get; set; }
 42     /// <summary>
 43     /// 显示数量
 44     /// </summary>
 45     public int ShowCount { get; set; }
 46     #endregion
 47
 48     #region HTML参数
 49     /// <summary>
 50     /// 显示元素
 51     /// </summary>
 52     public string Element { get; set; }
 53     /// <summary>
 54     /// 默认样式
 55     /// </summary>
 56     public string Css { get; set; }
 57     /// <summary>
 58     /// 选中样式
 59     /// </summary>
 60     public string CssChecked { get; set; }
 61     /// <summary>
 62     /// 上一页下一页样式
 63     /// </summary>
 64     public string CssPageTurning { get; set; }
 65     /// <summary>
 66     /// 翻页事件
 67     /// </summary>
 68     public string Click { get; set; }
 69     #endregion
 70     #endregion
 71
 72     #region 获取最大最小值
 73     /// <summary>
 74     /// 获取最大最小值
 75     /// </summary>
 76     /// <returns></returns>
 77     private int[] GetMinMax()
 78     {
 79         int[] minMax = new int[2];
 80         if (Index < ShowCount + 2)//123...
 81         {
 82             minMax[0] = 1;
 83             minMax[1] = Count > (ShowCount * 2 + 1) ? (ShowCount * 2 + 1) : Count;
 84         }
 85         else if (Index > Count - 2 * ShowCount + 1)//...678
 86         {
 87             minMax[0] = Count - 2 * ShowCount;
 88             minMax[1] = Count;
 89         }
 90         else//...345...
 91         {
 92             minMax[0] = Index - ShowCount;
 93             minMax[1] = Index + ShowCount;
 94         }
 95         //防止出错
 96         minMax[0] = minMax[0] < 1 ? 1 : minMax[0];
 97         minMax[1] = minMax[1] < Count ? minMax[1] : Count;
 98         minMax[1]++;
 99         return minMax;
100     }
101     #endregion
102
103     #region 生成HTML
104     /// <summary>
105     /// 生成HTML
106     /// </summary>
107     /// <returns></returns>
108     public string Building()
109     {
110         var minMax = GetMinMax();
111         StringBuilder sb = new StringBuilder();
112         if (Index > 1)//加1...
113         {
114             sb.AppendFormat("<{0} class={1} onclick={2}>上一页</{0}>", Element, CssPageTurning, Click + "(" + (Index > 1 ? Index - 1 : 1) + ")");
115             if (minMax[0] > 1)
116             {
117                 sb.AppendFormat("<{0} class={1} onclick={2}>1</{0}>", Element, Css, Click + "(1)");
118                 if (minMax[0] > 2)
119                 {
120                     sb.AppendFormat("<{0} class={1}>...</{0}>", Element, Css);
121                 }
122             }
123         }
124         while (minMax[0] < minMax[1])//1...345...7
125         {
126             sb.AppendFormat("<{0} class={1} onclick={2}>{3}</{0}>", Element, minMax[0] != Index ? Css : CssChecked, minMax[0] != Index ? Click + "(" + minMax[0] + ")" : "", minMax[0]);
127             minMax[0]++;
128         }
129         if (Index < Count)//加..7
130         {
131             if (minMax[1] < Count + 1)
132             {
133                 if (minMax[1] < Count)
134                 {
135                     sb.AppendFormat("<{0} class={1}>...</{0}>", Element, Css);
136                 }
137                 sb.AppendFormat("<{0} class={1} onclick={2}>{3}</{0}>", Element, Css, Click + "(" + Count + ")", Count);
138             }
139             sb.AppendFormat("<{0} class={1} onclick={2}>下一页</{0}>", Element, CssPageTurning, Click + "(" + (Count > Index ? Index + 1 : Count) + ")");
140         }
141         return sb.ToString();
142     }
143     #endregion
144 }

调用

public string get(int index)
{
  PageTurning pt = new PageTurning(20,1,index,"a","aa","bb","cc","aaaaa");
  return pt.Building();
}

HTML实例

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta name="viewport" content="width=device-width" />
 5     <title>Index</title>
 6     <script src="~/Scripts/jquery-1.8.2.min.js"></script>
 7     <script>
 8         $(function () {
 9             aaaaa(22)
10         })
11         function aaaaa(pIndex) {
12             $("div").load("/test/get", { index: pIndex });
13         }
14     </script>
15     <style>
16         .aa {
17             cursor: pointer;
18             display: block;
19             border: 1px solid black;
20             width: 22px;
21             height: 24px;
22             float: left;
23             margin-left: 4px;
24         }
25
26         .bb {
27             cursor: pointer;
28             display: block;
29             border: 1px solid black;
30             width: 22px;
31             height: 24px;
32             float: left;
33             margin-left: 4px;
34             background-color: pink;
35         }
36
37         .cc {
38             cursor: pointer;
39             display: block;
40             border: 1px solid black;
41             width: 60px;
42             height: 24px;
43             float: left;
44             margin-left: 4px;
45             background-color: orange;
46         }
47     </style>
48 </head>
49 <body>
50     <div></div>
51 </body>
52 </html>

效果图

时间: 2024-10-17 22:34:57

C#简单实用的翻页的相关文章

简单做出HTML5翻页效果文字特效

之前在网上看到一款比较有新意的HTML5文字特效,文字效果是当鼠标滑过是出现翻开折叠的效果,类似书本翻页.于是我兴致勃勃的点开源码看了一下,发现其实实现也挺简单的,主要利用了CSS3的transform属性,分别对X轴.Y轴.Z轴进行翻转,先看一下效果截图. 看效果图这些文字是不是很有立体的感觉,而这个立体的感觉并不是有投影和阴影来实现的,而是通过翻转.        DEMO演示效果 接下来我们来看一下源码.首先是HTML代码,非常简单,列出我们需要渲染的文字: <div class="

简单的图片翻页

1 function animatePic(){ 2 var box=$(".list-img"); 3 var item=box.find(".item-img"); 4 var left; 5 var len=item.length; 6 var _w=item.width(); 7 var w=_w*len; 8 var num=2; 9 $(".list-img").width(_w*len); 10 $(".next"

(java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以打开,如:http://ask.testfan.cn/articles?page=15,就可以翻到文章分类的第15页: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.u

web前端课程技术内容之如何做一个简单的手机端页面的翻页

[如何做一个简单的手机端页面的翻页] 第一步:创建移动端页面内 HTML + CSS [注]可用弹性布局 但需要注意的是 外层盒子的定位 第二步: 思考问题 要实现怎样的效果? 1. 手指滑动时触发事件[左右]两个方向 2.点击footer部分的下标实现切换效果 3.点击footer部分的下标实现下标颜色变化 第三步:编写JS代码 添加监听事件 document.addEventListener('DOMContentLoaded',function(){ 创建一个数组用于调用数组属性值 或者

javascript翻页小控件paginator

$(container).paginator({  totalrecords : totalRecords,  recordsperpage : recordsPerpage,  pagebtncount : pageBtnCount,  initval : currentPage,  next : '次へ',  prev : '前へ',  first : '',  last : '',  theme : '',  controlsalways : false,  onchange : func

JeeSite数据分页与翻页

本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您无用,在这里友情提醒,避免浪费您宝贵的时间. 翻页功能在各种项目中都会用到,在JeeSite开源项目中使用翻页也非常的容易,只要在配置文件中进行就可以就可以使用,系统的默认值为30页. 配置文件在src\main\resources\jeesite.properties文件中,配置如下: 1 pag

简单实用的PHP防注入类实例

这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全. PHP防注入类代码如下: 复制代码 代码如下: <?php /**  * 参数处理类  *

ViewPager实现翻页步骤

之前觉得滑动翻页的效果挺炫的,目前初学android,所以自己在项目中尝试实现了这个效果.数据是动态的.实现效果主要有几个步骤: 1.创建两个布局文件,一个布局文件定义viewPager组件,如  <android.support.v4.view.ViewPager         android:id="@+id/vp_articles"        android:layout_width="match_parent"        android:la

js 翻页

翻页功能是js很基础的一个算法,且用得很多,所以必须掌握此项技能. 我们要想清楚在实现翻页的过程中需要哪几个步骤: 1.我们首先需要的变量有哪些,必须的有一个存放当前页码的变量nowPage.一个存放最大页数的变量maxPage,再一个存放每一页显示多少行的常量 PAGECELL: 2.我们需要哪些函数来实现,实现哪些功能,肯定要有的是 向上翻页.向下翻页 3.过程中要注意什么,要翻到下一页,就必须清楚当页的内容,不然会在当前页下面加载 其实就这么简单,考虑清楚后就可以进行代码的实现了. 以上思