repeater的分页
初.学net;
1
//连接数据库
2
string connectstring = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
3
SqlConnection Connect = new SqlConnection(connectstring);
4
Connect.Open();
5
string sqlstring = "select * from content";
6
SqlDataAdapter da = new SqlDataAdapter(sqlstring, Connect);
7
DataSet ds = new DataSet();
8
da.Fill(ds, "content");
9
使用pageDataSource
10
PagedDataSource pp = new PagedDataSource();
11
pp.DataSource = ds.Tables[0].DefaultView;
12
pp.AllowPaging = true;
13
pp.PageSize = 1;
14
15
//分页算法
16
int cpage;
17
int totalpage = pp.PageCount;
18
int currentpage = pp.CurrentPageIndex+1;
19
StringBuilder strpage = new StringBuilder();
20
StringBuilder linkstring = new StringBuilder("?");
21
if (Request.QueryString["Page"]!= null)
22
{
23
cpage = Convert.ToInt32(Request.QueryString["Page"]);
24
}
25
else
26
{ cpage = 1; }
27
28
pp.CurrentPageIndex = cpage - 1;
29
30
31
if (!pp.IsFirstPage)//Request.CurrentExecutionFilePath为当前的程序的文件名,直接写也可以
32
pre.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage - 1);
33
34
if (!pp.IsLastPage)
35
{ next.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage + 1); }
36
37
38
if (currentpage < 10)
39
{
40
for (int i = 1; i <= 10; i++)
41
{
42
if (i < totalpage)
43
{
44
StringBuilder stringformat = new StringBuilder("<a href=\"");
45
stringformat.Append(linkstring);
46
stringformat.Append("&page={0}\">[{0}]</a>");
47
if (i == currentpage)
48
{
49
stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
50
51
52
}
53
strpage.AppendFormat(stringformat.ToString(), i);
54
55
56
}
57
else
58
{
59
break;
60
61
}
62
63
}
64
if (totalpage > 10)
65
{
66
// strpage.AppendFormat(" <a href=\"{0}&page={1}\">[{1}]</a>", linkstring ,totalpage );
67
68
}
69
70
}
71
else if (currentpage <= (totalpage-5) )
72
{
73
strpage.AppendFormat(" <a href=\"{0}&page=1\">[1]</a> ", linkstring.ToString());
74
for (int i = currentpage-5 ; i <= currentpage + 5; i++)
75
{
76
77
if (i <= totalpage)
78
{
79
StringBuilder stringformat = new StringBuilder("<a href=\"");
80
stringformat.Append(linkstring);
81
stringformat.Append("&page={0}\">[{0}]</a>");
82
if (i == currentpage)
83
{
84
stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
85
}
86
strpage.AppendFormat(stringformat.ToString(), i);
87
}
88
else
89
{ break;
90
}
91
92
}
93
strpage.AppendFormat("<a href=\"{0}&p={1}\">[{1}]</a>", linkstring.ToString(), totalpage.ToString
94
());
95
96
97
}
98
else
99
{
100
strpage.AppendFormat("<a href=\"{0}&page=1\">[1]</a>", linkstring.ToString ());
101
//for(int i=1;i<=totalpage ;i++)
102
//{
103
104
// StringBuilder stringformat=new StringBuilder ("<a href=\"");
105
// stringformat.Append(linkstring);
106
//stringformat .Append ("&page={0}\">[{0}]</a>");
107
//if (i == currentpage)
108
// {
109
// stringformat = new StringBuilder("<font color=\"#FF0000\">[{0}]</font>");
110
111
//}
112
// strpage.AppendFormat(stringformat.ToString(),i);
113
// }
114
115
116
}
117
current.Text = strpage.ToString ();
118
Repeater1.DataSource = pp;
119
Repeater1.DataBind();
120
121
122
123
124
125
}
126
127
128
129
//连接数据库2
string connectstring = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;3
SqlConnection Connect = new SqlConnection(connectstring);4
Connect.Open();5
string sqlstring = "select * from content";6
SqlDataAdapter da = new SqlDataAdapter(sqlstring, Connect);7
DataSet ds = new DataSet();8
da.Fill(ds, "content");9
使用pageDataSource10
PagedDataSource pp = new PagedDataSource();11
pp.DataSource = ds.Tables[0].DefaultView;12
pp.AllowPaging = true;13
pp.PageSize = 1;14

15
//分页算法16
int cpage;17
int totalpage = pp.PageCount;18
int currentpage = pp.CurrentPageIndex+1;19
StringBuilder strpage = new StringBuilder();20
StringBuilder linkstring = new StringBuilder("?");21
if (Request.QueryString["Page"]!= null)22
{ 23
cpage = Convert.ToInt32(Request.QueryString["Page"]);24
}25
else26
{ cpage = 1; }27
28
pp.CurrentPageIndex = cpage - 1;29

30

31
if (!pp.IsFirstPage)//Request.CurrentExecutionFilePath为当前的程序的文件名,直接写也可以 32
pre.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage - 1);33

34
if (!pp.IsLastPage)35
{ next.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage + 1); }36

37

38
if (currentpage < 10)39
{40
for (int i = 1; i <= 10; i++)41
{42
if (i < totalpage)43
{44
StringBuilder stringformat = new StringBuilder("<a href=\"");45
stringformat.Append(linkstring);46
stringformat.Append("&page={0}\">[{0}]</a>");47
if (i == currentpage)48
{49
stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");50

51

52
}53
strpage.AppendFormat(stringformat.ToString(), i);54

55

56
}57
else58
{59
break;60
61
}62
63
}64
if (totalpage > 10)65
{66
// strpage.AppendFormat(" <a href=\"{0}&page={1}\">[{1}]</a>", linkstring ,totalpage );67

68
}69
70
}71
else if (currentpage <= (totalpage-5) )72
{73
strpage.AppendFormat(" <a href=\"{0}&page=1\">[1]</a> ", linkstring.ToString());74
for (int i = currentpage-5 ; i <= currentpage + 5; i++)75
{76

77
if (i <= totalpage)78
{79
StringBuilder stringformat = new StringBuilder("<a href=\"");80
stringformat.Append(linkstring);81
stringformat.Append("&page={0}\">[{0}]</a>");82
if (i == currentpage)83
{84
stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");85
}86
strpage.AppendFormat(stringformat.ToString(), i);87
}88
else89
{ break; 90
}91

92
}93
strpage.AppendFormat("<a href=\"{0}&p={1}\">[{1}]</a>", linkstring.ToString(), totalpage.ToString94
());95

96

97
}98
else99
{100
strpage.AppendFormat("<a href=\"{0}&page=1\">[1]</a>", linkstring.ToString ());101
//for(int i=1;i<=totalpage ;i++)102
//{103
104
// StringBuilder stringformat=new StringBuilder ("<a href=\"");105
// stringformat.Append(linkstring);106
//stringformat .Append ("&page={0}\">[{0}]</a>");107
//if (i == currentpage)108
// {109
// stringformat = new StringBuilder("<font color=\"#FF0000\">[{0}]</font>");110
111
//}112
// strpage.AppendFormat(stringformat.ToString(),i);113
// }114
115

116
}117
current.Text = strpage.ToString ();118
Repeater1.DataSource = pp;119
Repeater1.DataBind();120

121

122
123

124

125
}126

127

128

129



浙公网安备 33010602011771号