1 usingSystem.Data;2 usingSystem.Configuration;3 usingSystem.Web;4 usingSystem.Web.Security;5 usingSystem.Web.UI;6 usingSystem.Web.UI.WebControls;7 usingSystem.Web.UI.WebControls.WebParts;8 usingSystem.Web.UI.HtmlControls;9 usingSystem.Text;10
11 ///
12 ///扩展连接字符串13 ///
14 public classExStringBuilder15 {16 privateStringBuilder InsertString;17 privateStringBuilder PageString;18 private int PrivatePageNum = 1;19 private int PrivateMaxPageSize = 25;20 private int PrivateMaxPages = 10;21 private intPrivateCount;22 private intPrivateAllPage;23 publicExStringBuilder()24 {25 InsertString = new StringBuilder("");26 }27 ///
28 ///得到生成的HTML29 ///
30 public stringGetHtml31 {32 get
33 {34 returnInsertString.ToString();35 }36 }37 ///
38 ///得到生成的分页HTML39 ///
40 public stringGetPageHtml41 {42 get
43 {44 returnPageString.ToString();45 }46 }47 ///
48 ///设置或获取目前页数49 ///
50 public intPageNum51 {52 get
53 {54 returnPrivatePageNum;55 }56 set
57 {58 if (value >= 1)59 {60 PrivatePageNum =value;61 }62 }63 }64 ///
65 ///设置或获取最大分页数66 ///
67 public intMaxPageSize68 {69 get
70 {71 returnPrivateMaxPageSize;72 }73 set
74 {75 if (value >= 1)76 {77 PrivateMaxPageSize =value;78 }79 }80 }81 ///
82 ///设置或获取每次显示最大页数83 ///
84 public intMaxPages85 {86 get
87 {88 returnPrivateMaxPages;89 }90 set
91 {92 PrivateMaxPages =value;93 }94 }95 ///
96 ///设置或获取数据总数97 ///
98 public intDateCount99 {100 get
101 {102 returnPrivateCount;103 }104 set
105 {106 PrivateCount =value;107 }108 }109 ///
110 ///获取数据总页数111 ///
112 public intAllPage113 {114 get
115 {116 returnPrivateAllPage;117 }118 }119 ///
120 ///初始化分页121 ///
122 public voidPagination()123 {124 PageString = new StringBuilder("");125 //得到总页数
126 PrivateAllPage = (int)Math.Ceiling((decimal)PrivateCount / (decimal)PrivateMaxPageSize);127 //防止上标或下标越界
128 if (PrivatePageNum >PrivateAllPage)129 {130 PrivatePageNum =PrivateAllPage;131 }132 //滚动游标分页方式
133 intLeftRange, RightRange, LeftStart, RightEnd;134 LeftRange = (PrivateMaxPages + 1) / 2-1;135 RightRange = (PrivateMaxPages + 1) / 2;136 if (PrivateMaxPages >=PrivateAllPage)137 {138 LeftStart = 1;139 RightEnd =PrivateAllPage;140 }141 else
142 {143 if (PrivatePageNum <=LeftRange)144 {145 LeftStart = 1;146 RightEnd = LeftStart + PrivateMaxPages - 1;147 }148 else if (PrivateAllPage - PrivatePageNum
154 {155 LeftStart = PrivatePageNum -LeftRange;156 RightEnd = PrivatePageNum +RightRange;157 }158 }159
160 //生成页码列表统计
161 PageString.Append(...);162
163 StringBuilder PreviousString = new StringBuilder("");164 //如果在第一页
165 if (PrivatePageNum > 1)166 {167 ...168 }169 else
170 {171 ...172 }173 //如果在第一组分页
174 if (PrivatePageNum >PrivateMaxPages)175 {176 ...177 }178 else
179 {180 ...181 }182 PageString.Append(PreviousString);183 //生成中间页http://www.cnblogs.com/roucheng/
184 for (int i = LeftStart; i <= RightEnd; i++)185 {186 //为当前页时
187 if (i ==PrivatePageNum)188 {189 ...190 }191 else
192 {193 ...194 }195 }196 StringBuilder LastString = new StringBuilder("");197 //如果在最后一页
198 if (PrivatePageNum
203 {204 ...205 }206 //如果在最后一组
207 if ((PrivatePageNum + PrivateMaxPages)
212 {213 ...214 }215 PageString.Append(LastString);216 }217 ///
218 ///生成Tag分类表格219 ///
220 public voidTagTable(ExDataRow myExDataRow)221 {222 InsertString.Append(...);223 }