温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:多层文章管理系统源码
当前文件:
MultiLayerArticle/Web/Controls/SplitPage.ascx.cs,打开代码结构图
MultiLayerArticle/Web/Controls/SplitPage.ascx.cs,打开代码结构图1using 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
12
public partial class UI_Case_Controls_SplitPage : System.Web.UI.UserControl 13
{ 14
int pageIndex = 0; 15
16
/// <summary> 17
/// 当前页 18
19
/// </summary> 20
public int PageIndex 21
{ 22
get { return pageIndex; } 23
set { pageIndex = value; } 24
} 25
26
int pageSize = 20; 27
/// <summary> 28
/// 每页显示的数据数 29
/// </summary> 30
public int PageSize 31
{ 32
get { return pageSize; } 33
set { pageSize = value; } 34
} 35
36
int pageCount; 37
/// <summary> 38
/// 数据总数 39
/// </summary> 40
public int PageCount 41
{ 42
get { return pageCount; } 43
set { pageCount = value; } 44
} 45
46
string parameter; 47
/// <summary> 48
/// 参数 49
/// </summary> 50
public string Parameter 51
{ 52
get { return parameter; } 53
set { parameter = value; } 54
} 55
int iPageTotal; 56
public int PageTotal 57
{ 58
get { return iPageTotal; } 59
set { iPageTotal = value; } 60
} 61
62
private int _ShowPage = 10; 63
/// <summary> 64
/// 数字链接的个数 65
/// </summary> 66
public int ShowPage 67
{ 68
set { _ShowPage = value; } 69
} 70
71
protected void Page_Load(object sender, EventArgs e) 72
{ 73
if (!IsPostBack) 74
{ 75
SplitPageHyperLink(); 76
} 77
} 78
79
private void SplitPageHyperLink() 80
{ 81
// TODO: 处理URL 82
string strPageIndexName = "?PageIndex="; 83
string strUrl = Request.Url.ToString(); 84
if (strUrl.IndexOf("?") > 0) 85
{ 86
strUrl = strUrl.Substring(0, strUrl.IndexOf("?")); 87
} 88
if (string.IsNullOrEmpty(parameter)) 89
{ 90
parameter = ""; 91
} 92
strUrl += strPageIndexName; 93
94
95
// TODO: 首页 96
this.hyFirst.NavigateUrl = strUrl + "0" + parameter; 97
98
//显示中间的页数 99
iPageTotal = (PageCount + pageSize - 1) / pageSize; 100
101
102
// TODO: 权限 103
... 115
116
// TODO: 上一页 117
if (Convert.ToInt32(pageIndex) <= 0 | Convert.ToInt32(pageIndex) == iPageTotal) 118
{ 119
pageIndex = 0; 120
hyFirst.NavigateUrl = ""; 121
hyPrevious.NavigateUrl = ""; 122
} 123
else 124
{ 125
hyPrevious.NavigateUrl = strUrl + (pageIndex - 1) + parameter; 126
} 127
128
// TODO: 下一页 129
if (PageCount != 0 && Convert.ToInt32(pageIndex) != iPageTotal) 130
{ 131
if (Convert.ToInt32(pageIndex) + 1 >= iPageTotal) 132
{ 133
pageIndex = (iPageTotal - 1); 134
hyNext.NavigateUrl = ""; 135
hyLast.NavigateUrl = ""; 136
} 137
else 138
{ 139
hyNext.NavigateUrl = strUrl + (pageIndex + 1) + parameter; 140
hyLast.NavigateUrl = strUrl + (iPageTotal - 1) + parameter; 141
} 142
} 143
144
// TODO: 显示 当前页/总页数 145
hyCount.Text = "<font color='red'>" + (pageIndex + 1) + "</font>/" + iPageTotal; 146
147
// TODO: 显示 总数据 148
hyPageTotal.Text = PageCount + ""; 149
150
// TODO: 处理当中数字链接 151
int iSplitCount = (iPageTotal + _ShowPage - 1) / _ShowPage; 152
int iSplitCurrent = pageIndex / _ShowPage; 153
int iSplitBegin = iSplitCurrent * _ShowPage; 154
int iSplitEnd = (iSplitBegin + _ShowPage) > iPageTotal ? iPageTotal : (iSplitBegin + _ShowPage); 155
for (int i = iSplitBegin; i < iSplitEnd; i++) 156
{ 157
HyperLink hLink = new HyperLink(); 158
hLink.Text = (i + 1) + ""; 159
hLink.NavigateUrl = strUrl + i + parameter; 160
if (i == pageIndex) 161
{ 162
hLink.Enabled = false; 163
} 164
lblSplit.Controls.Add(hLink); 165
} 166
} 167
} 168





}