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//分页算法
16int cpage;
17int totalpage = pp.PageCount;
18int currentpage = pp.CurrentPageIndex+1;
19StringBuilder strpage = new StringBuilder();
20StringBuilder linkstring = new StringBuilder("?");
21if (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使用pageDataSource
10 PagedDataSource pp = new PagedDataSource();
11 pp.DataSource = ds.Tables[0].DefaultView;
12 pp.AllowPaging = true;
13 pp.PageSize = 1;
14
15//分页算法
16int cpage;
17int totalpage = pp.PageCount;
18int currentpage = pp.CurrentPageIndex+1;
19StringBuilder strpage = new StringBuilder();
20StringBuilder linkstring = new StringBuilder("?");
21if (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