分页控件:
PageConten.ascx
 1
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PageConten.ascx.cs" Inherits="test_01.PageConten" %>
2
 <br />
3
总共有 <%=row_count %> 页
4
<br />
5
总共有 <%=rows %> 行记录
6
<%=page_foot %>
7
<br />
8
当前是第 <%=pageIndex%> 页
9
<input type="hidden" id="hidSub" name="hidSub" value="0" />
10
<script language="javascript" type="text/javascript">
11
function selectPage()
12
{
13
    var id = document.getElementById("sltPage").value;
14
    submit(id);
15
}
16
function bindSlt(row_count)
17
{
18
    for(var i=1;i<=row_count;i++)
19
    {
20
        document.getElementById("sltPage").options.add(new Option(i,i));
21
    }
22
}
23
function submit(page)
24
{
25
    document.getElementById("hidSub").value = page;
26
    document.forms[0].submit();
27
}
28
</script>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PageConten.ascx.cs" Inherits="test_01.PageConten" %>2
 <br />3
总共有 <%=row_count %> 页4
<br />5
总共有 <%=rows %> 行记录6
<%=page_foot %>7
<br />8
当前是第 <%=pageIndex%> 页9
<input type="hidden" id="hidSub" name="hidSub" value="0" />10
<script language="javascript" type="text/javascript">11
function selectPage()12
{13
    var id = document.getElementById("sltPage").value;14
    submit(id);15
}16
function bindSlt(row_count)17
{18
    for(var i=1;i<=row_count;i++)19
    {20
        document.getElementById("sltPage").options.add(new Option(i,i));21
    }22
}23
function submit(page)24
{25
    document.getElementById("hidSub").value = page;26
    document.forms[0].submit();27
}28
</script>
PageConten.ascx.cs
  1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
using System.Text;
12
13
namespace test_01
14
{
15
    public partial class PageConten : System.Web.UI.UserControl
16
    {
17
        public string page_foot;
18
        public int row_count = 0;
19
        public string pageIndex;
20
        public int page_info;  //每页要显示多少页码出来
21
        public int rows;  //总行数
22
        public int page_rows; //每页分多少行
23
        public int isRequest; //是否带url参数,1为带,2为不带
24
        public string pageName; //页面名称,去掉.aspx的部分
25
26
        protected void Page_Load(object sender, EventArgs e)
27
        {
28
            row_count = rows / page_rows;
29
            int indexPage = 0; //当前页
30
            if (IsPostBack)
31
            {
32
                indexPage = int.Parse("0" + Request["hidSub"]);
33
                if (indexPage == 0)
34
                {
35
                    pageIndex = "1";
36
                }
37
                else
38
                {
39
                    pageIndex = indexPage.ToString();
40
                }
41
                Session["index"] = indexPage.ToString();
42
                PageInfo(indexPage);
43
            }
44
            else
45
            {
46
                if (isRequest == 1)
47
                {
48
                    indexPage = int.Parse("0" + Request["page"]);
49
                    if (indexPage == 0)
50
                    {
51
                        pageIndex = "1";
52
                    }
53
                    else
54
                    {
55
                        pageIndex = indexPage.ToString();
56
                    }
57
                    PageRequestInfo(indexPage);
58
                }
59
                else
60
                {
61
                    indexPage = int.Parse("0" + Request["hidSub"]);
62
                    if (indexPage == 0)
63
                    {
64
                        pageIndex = "1";
65
                    }
66
                    else
67
                    {
68
                        pageIndex = indexPage.ToString();
69
                    }
70
                    Session["index"] = indexPage.ToString();
71
                    PageInfo(indexPage);
72
                }
73
            }
74
        }
75
76
        /// <summary>
77
        /// 分页摸板方法1,不带url参数
78
        /// </summary>
79
        /// <param name="index_page">当前页</param>
80
        private void PageInfo(int index_page)
81
        {
82
            int back_page = index_page - 1;  //上一页
83
            int next_page = index_page + 1;  //下一页
84
            int last_page;     //页码能显示的最后一页
85
            int j;
86
            int r = page_info / 2;
87
            if (index_page == 0)
88
            {
89
                last_page = page_info;
90
                j = 1;
91
            }
92
            else
93
            {
94
                if (index_page > r)
95
                {
96
                    if (index_page > row_count - r)
97
                    {
98
                        last_page = row_count;
99
                    }
100
                    else
101
                    {
102
                        last_page = index_page + r;
103
                    }
104
                }
105
                else
106
                {
107
                    last_page = page_info;
108
                }
109
            }
110
            j = last_page - (page_info - 1);
111
            StringBuilder foot = new StringBuilder();
112
            foot.Append("<table><tr><td>");
113
            foot.Append(" ");
114
            if (index_page != 1 && index_page != 0)
115
            {
116
                foot.Append("<a href='javascript:submit(1);' style='text-decoration:none'>[首页]</a>");
117
                foot.Append("<a href='javascript:submit(" + back_page + ")' style='text-decoration:none'>[上一页]</a>");
118
            }
119
            else
120
            {
121
                foot.Append("[首页]");
122
                foot.Append("[上一页]");
123
            }
124
            foot.Append(" ");
125
            if (row_count > page_info)
126
            {
127
                for (int i = j; i <= last_page; i++)  //----------------------总页数大于10的情况
128
                {
129
                    if (i == 1 && index_page == 0)
130
                    {
131
                        foot.Append("[" + i + "]");
132
                    }
133
                    else
134
                    {
135
                        if (i == index_page)
136
                        {
137
                            foot.Append("[" + i + "]");
138
                        }
139
                        else
140
                        {
141
                            foot.Append("<a href='javascript:submit(" + i + ");' style='text-decoration:none'>[" + i + "]</a>");
142
                        }
143
                    }
144
                    foot.Append(" ");
145
                }
146
            }
147
            else
148
            {
149
                for (int i = 1; i <= row_count; i++)
150
                {
151
                    if (i == 1 && index_page == 0)
152
                    {
153
                        foot.Append("[" + i + "]");
154
                    }
155
                    else
156
                    {
157
                        if (i == index_page)
158
                        {
159
                            foot.Append("[" + i + "]");
160
                        }
161
                        else
162
                        {
163
                            foot.Append("<a href='javascript:submit(" + i + ");' style='text-decoration:none'>[" + i + "]</a>");
164
                        }
165
                    }
166
                    foot.Append(" ");
167
                }
168
            }
169
            if (index_page != row_count)
170
            {
171
                if (index_page == 0)
172
                {
173
                    foot.Append("<a href='javascript:submit(2);' style='text-decoration:none'>[下一页]</a>");
174
                }
175
                else
176
                {
177
                    foot.Append("<a href='javascript:submit(" + next_page + ");' style='text-decoration:none'>[下一页]</a>");
178
                }
179
                foot.Append("<a href='javascript:submit(" + row_count + ");' style='text-decoration:none'>[尾页]</a>");
180
            }
181
            else
182
            {
183
                foot.Append("[下一页]");
184
                foot.Append("[尾页]");
185
            }
186
            foot.Append(" ");
187
            foot.Append("转到<select id='sltPage' onchange='selectPage()'>");
188
            for (int i = 1; i <= row_count; i++)
189
            {
190
                foot.Append("<option value=" + i + ">" + i + "</option>");
191
            }
192
            foot.Append("</select>");
193
            foot.Append("</td>");
194
            foot.Append("</tr></table>");
195
            page_foot = foot.ToString();
196
        }
197
198
        /// <summary>
199
        /// 分页摸板方法2,带url参数
200
        /// </summary>
201
        /// <param name="indexPage">当前页</param>
202
        public void PageRequestInfo(int index_page)
203
        {
204
            int back_page = index_page - 1;  //上一页
205
            int next_page = index_page + 1;  //下一页
206
            int last_page;     //页码能显示的最后一页
207
            int j;
208
            int r = page_info / 2;
209
            if (index_page == 0)
210
            {
211
                last_page = page_info;
212
                j = 1;
213
            }
214
            else
215
            {
216
                if (index_page > r)
217
                {
218
                    if (index_page > row_count - r)
219
                    {
220
                        last_page = row_count;
221
                    }
222
                    else
223
                    {
224
                        last_page = index_page + r;
225
                    }
226
                }
227
                else
228
                {
229
                    last_page = page_info;
230
                }
231
            }
232
            j = last_page - (page_info - 1);
233
            StringBuilder foot = new StringBuilder();
234
            foot.Append("<table><tr><td>");
235
            foot.Append(" ");
236
            if (index_page != 1 && index_page != 0)
237
            {
238
                foot.Append("<a href='" + pageName + ".aspx?page=1' style='text-decoration:none'>[首页]</a>");
239
                foot.Append("<a href='" + pageName + ".aspx?page=" + back_page + "' style='text-decoration:none'>[上一页]</a>");
240
            }
241
            else
242
            {
243
                foot.Append("[首页]");
244
                foot.Append("[上一页]");
245
            }
246
            foot.Append(" ");
247
            if (row_count > page_info)
248
            {
249
                for (int i = j; i <= last_page; i++)  //----------------------总页数大于10的情况
250
                {
251
                    if (i == 1 && index_page == 0)
252
                    {
253
                        foot.Append("[" + i + "]");
254
                    }
255
                    else
256
                    {
257
                        if (i == index_page)
258
                        {
259
                            foot.Append("[" + i + "]");
260
                        }
261
                        else
262
                        {
263
                            foot.Append("<a href='" + pageName + ".aspx?page=" + i + "' style='text-decoration:none'>[" + i + "]</a>");
264
                        }
265
                    }
266
                    foot.Append(" ");
267
                }
268
            }
269
            else
270
            {
271
                for (int i = 1; i <= row_count; i++)
272
                {
273
                    if (i == 1 && index_page == 0)
274
                    {
275
                        foot.Append("[" + i + "]");
276
                    }
277
                    else
278
                    {
279
                        if (i == index_page)
280
                        {
281
                            foot.Append("[" + i + "]");
282
                        }
283
                        else
284
                        {
285
                            foot.Append("<a href='" + pageName + ".aspx?page=" + i + "' style='text-decoration:none'>[" + i + "]</a>");
286
                        }
287
                    }
288
                    foot.Append(" ");
289
                }
290
            }
291
            if (index_page != row_count)
292
            {
293
                if (index_page == 0)
294
                {
295
                    foot.Append("<a href='" + pageName + ".aspx?page=2' style='text-decoration:none'>[下一页]</a>");
296
                }
297
                else
298
                {
299
                    foot.Append("<a href='" + pageName + ".aspx?page=" + next_page + "' style='text-decoration:none'>[下一页]</a>");
300
                }
301
                foot.Append("<a href='" + pageName + ".aspx?page=" + row_count + "' style='text-decoration:none'>[尾页]</a>");
302
            }
303
            else
304
            {
305
                foot.Append("[下一页]");
306
                foot.Append("[尾页]");
307
            }
308
            foot.Append(" ");
309
            foot.Append("转到<select id='sltPage' onchange='selectPage()'>");
310
            for (int i = 1; i <= row_count; i++)
311
            {
312
                foot.Append("<option value=" + i + ">" + i + "</option>");
313
            }
314
            foot.Append("</select>");
315
            foot.Append("</td>");
316
            foot.Append("</tr></table>");
317
            page_foot = foot.ToString();
318
        }
319
    }
320
}
using System;2
using System.Data;3
using System.Configuration;4
using System.Collections;5
using System.Web;6
using System.Web.Security;7
using System.Web.UI;8
using System.Web.UI.WebControls;9
using System.Web.UI.WebControls.WebParts;10
using System.Web.UI.HtmlControls;11
using System.Text;12

13
namespace test_0114
{15
    public partial class PageConten : System.Web.UI.UserControl16
    {17
        public string page_foot;18
        public int row_count = 0;19
        public string pageIndex;20
        public int page_info;  //每页要显示多少页码出来21
        public int rows;  //总行数22
        public int page_rows; //每页分多少行23
        public int isRequest; //是否带url参数,1为带,2为不带24
        public string pageName; //页面名称,去掉.aspx的部分25

26
        protected void Page_Load(object sender, EventArgs e)27
        {28
            row_count = rows / page_rows;29
            int indexPage = 0; //当前页30
            if (IsPostBack)31
            {32
                indexPage = int.Parse("0" + Request["hidSub"]);33
                if (indexPage == 0)34
                {35
                    pageIndex = "1";36
                }37
                else38
                {39
                    pageIndex = indexPage.ToString();40
                }41
                Session["index"] = indexPage.ToString();42
                PageInfo(indexPage);43
            }44
            else45
            {46
                if (isRequest == 1)47
                {48
                    indexPage = int.Parse("0" + Request["page"]);49
                    if (indexPage == 0)50
                    {51
                        pageIndex = "1";52
                    }53
                    else54
                    {55
                        pageIndex = indexPage.ToString();56
                    }57
                    PageRequestInfo(indexPage);58
                }59
                else60
                {61
                    indexPage = int.Parse("0" + Request["hidSub"]);62
                    if (indexPage == 0)63
                    {64
                        pageIndex = "1";65
                    }66
                    else67
                    {68
                        pageIndex = indexPage.ToString();69
                    }70
                    Session["index"] = indexPage.ToString();71
                    PageInfo(indexPage);72
                }73
            }74
        }75

76
        /// <summary>77
        /// 分页摸板方法1,不带url参数78
        /// </summary>79
        /// <param name="index_page">当前页</param>80
        private void PageInfo(int index_page)81
        {82
            int back_page = index_page - 1;  //上一页83
            int next_page = index_page + 1;  //下一页84
            int last_page;     //页码能显示的最后一页85
            int j;86
            int r = page_info / 2;87
            if (index_page == 0)88
            {89
                last_page = page_info;90
                j = 1;91
            }92
            else93
            {94
                if (index_page > r)95
                {96
                    if (index_page > row_count - r)97
                    {98
                        last_page = row_count;99
                    }100
                    else101
                    {102
                        last_page = index_page + r;103
                    }104
                }105
                else106
                {107
                    last_page = page_info;108
                }109
            }110
            j = last_page - (page_info - 1);111
            StringBuilder foot = new StringBuilder();112
            foot.Append("<table><tr><td>");113
            foot.Append(" ");114
            if (index_page != 1 && index_page != 0)115
            {116
                foot.Append("<a href='javascript:submit(1);' style='text-decoration:none'>[首页]</a>");117
                foot.Append("<a href='javascript:submit(" + back_page + ")' style='text-decoration:none'>[上一页]</a>");118
            }119
            else120
            {121
                foot.Append("[首页]");122
                foot.Append("[上一页]");123
            }124
            foot.Append(" ");125
            if (row_count > page_info)126
            {127
                for (int i = j; i <= last_page; i++)  //----------------------总页数大于10的情况128
                {129
                    if (i == 1 && index_page == 0)130
                    {131
                        foot.Append("[" + i + "]");132
                    }133
                    else134
                    {135
                        if (i == index_page)136
                        {137
                            foot.Append("[" + i + "]");138
                        }139
                        else140
                        {141
                            foot.Append("<a href='javascript:submit(" + i + ");' style='text-decoration:none'>[" + i + "]</a>");142
                        }143
                    }144
                    foot.Append(" ");145
                }146
            }147
            else148
            {149
                for (int i = 1; i <= row_count; i++)150
                {151
                    if (i == 1 && index_page == 0)152
                    {153
                        foot.Append("[" + i + "]");154
                    }155
                    else156
                    {157
                        if (i == index_page)158
                        {159
                            foot.Append("[" + i + "]");160
                        }161
                        else162
                        {163
                            foot.Append("<a href='javascript:submit(" + i + ");' style='text-decoration:none'>[" + i + "]</a>");164
                        }165
                    }166
                    foot.Append(" ");167
                }168
            }169
            if (index_page != row_count)170
            {171
                if (index_page == 0)172
                {173
                    foot.Append("<a href='javascript:submit(2);' style='text-decoration:none'>[下一页]</a>");174
                }175
                else176
                {177
                    foot.Append("<a href='javascript:submit(" + next_page + ");' style='text-decoration:none'>[下一页]</a>");178
                }179
                foot.Append("<a href='javascript:submit(" + row_count + ");' style='text-decoration:none'>[尾页]</a>");180
            }181
            else182
            {183
                foot.Append("[下一页]");184
                foot.Append("[尾页]");185
            }186
            foot.Append(" ");187
            foot.Append("转到<select id='sltPage' onchange='selectPage()'>");188
            for (int i = 1; i <= row_count; i++)189
            {190
                foot.Append("<option value=" + i + ">" + i + "</option>");191
            }192
            foot.Append("</select>");193
            foot.Append("</td>");194
            foot.Append("</tr></table>");195
            page_foot = foot.ToString();196
        }197

198
        /// <summary>199
        /// 分页摸板方法2,带url参数200
        /// </summary>201
        /// <param name="indexPage">当前页</param>202
        public void PageRequestInfo(int index_page)203
        {204
            int back_page = index_page - 1;  //上一页205
            int next_page = index_page + 1;  //下一页206
            int last_page;     //页码能显示的最后一页207
            int j;208
            int r = page_info / 2;209
            if (index_page == 0)210
            {211
                last_page = page_info;212
                j = 1;213
            }214
            else215
            {216
                if (index_page > r)217
                {218
                    if (index_page > row_count - r)219
                    {220
                        last_page = row_count;221
                    }222
                    else223
                    {224
                        last_page = index_page + r;225
                    }226
                }227
                else228
                {229
                    last_page = page_info;230
                }231
            }232
            j = last_page - (page_info - 1);233
            StringBuilder foot = new StringBuilder();234
            foot.Append("<table><tr><td>");235
            foot.Append(" ");236
            if (index_page != 1 && index_page != 0)237
            {238
                foot.Append("<a href='" + pageName + ".aspx?page=1' style='text-decoration:none'>[首页]</a>");239
                foot.Append("<a href='" + pageName + ".aspx?page=" + back_page + "' style='text-decoration:none'>[上一页]</a>");240
            }241
            else242
            {243
                foot.Append("[首页]");244
                foot.Append("[上一页]");245
            }246
            foot.Append(" ");247
            if (row_count > page_info)248
            {249
                for (int i = j; i <= last_page; i++)  //----------------------总页数大于10的情况250
                {251
                    if (i == 1 && index_page == 0)252
                    {253
                        foot.Append("[" + i + "]");254
                    }255
                    else256
                    {257
                        if (i == index_page)258
                        {259
                            foot.Append("[" + i + "]");260
                        }261
                        else262
                        {263
                            foot.Append("<a href='" + pageName + ".aspx?page=" + i + "' style='text-decoration:none'>[" + i + "]</a>");264
                        }265
                    }266
                    foot.Append(" ");267
                }268
            }269
            else270
            {271
                for (int i = 1; i <= row_count; i++)272
                {273
                    if (i == 1 && index_page == 0)274
                    {275
                        foot.Append("[" + i + "]");276
                    }277
                    else278
                    {279
                        if (i == index_page)280
                        {281
                            foot.Append("[" + i + "]");282
                        }283
                        else284
                        {285
                            foot.Append("<a href='" + pageName + ".aspx?page=" + i + "' style='text-decoration:none'>[" + i + "]</a>");286
                        }287
                    }288
                    foot.Append(" ");289
                }290
            }291
            if (index_page != row_count)292
            {293
                if (index_page == 0)294
                {295
                    foot.Append("<a href='" + pageName + ".aspx?page=2' style='text-decoration:none'>[下一页]</a>");296
                }297
                else298
                {299
                    foot.Append("<a href='" + pageName + ".aspx?page=" + next_page + "' style='text-decoration:none'>[下一页]</a>");300
                }301
                foot.Append("<a href='" + pageName + ".aspx?page=" + row_count + "' style='text-decoration:none'>[尾页]</a>");302
            }303
            else304
            {305
                foot.Append("[下一页]");306
                foot.Append("[尾页]");307
            }308
            foot.Append(" ");309
            foot.Append("转到<select id='sltPage' onchange='selectPage()'>");310
            for (int i = 1; i <= row_count; i++)311
            {312
                foot.Append("<option value=" + i + ">" + i + "</option>");313
            }314
            foot.Append("</select>");315
            foot.Append("</td>");316
            foot.Append("</tr></table>");317
            page_foot = foot.ToString();318
        }319
    }320
}
使用说明
在页面的Page_Load方法体里输入以下属性
PageConten1.rows = 368;  //总行数
            PageConten1.page_rows = 10; //每页分多少行
            PageConten1.page_info = 10; //每页要显示多少页码出来
            PageConten1.isRequest = 1; //是否带url参数,1为带,2为不带
            if (PageConten1.isRequest == 1)
            {
                index_page = int.Parse(Request["page"] == null ? ("1" + Request["page"]) : Request["page"]);
                PageConten1.pageName = "Test_4";
            }
            else
            {
                index_page = int.Parse(Request["hidSub"] == null ? ("1" + Request["hidSub"]) : Request["hidSub"]);
            }
                    
                


    
                
            
        
浙公网安备 33010602011771号