public class PageBarHelper//分頁類 { public static string GetPageBar(string requestHref,int totalCount,int pageIndex,int pageSize) { //初始化pageSize,如果為0,默認為5 pageSize = pageSize == 0 ? 5 : pageSize; pageIndex = pageIndex == 0 ? 1 : pageIndex; //計算總頁數 int pageCount = Convert.ToInt32(Math.Ceiling((double)(totalCount / pageSize))); //構建輸出字符串 StringBuilder sb = new StringBuilder(); sb.AppendFormat("<div id='pageBar'>"); //判斷pageCount是否足夠分頁,足夠分頁時 if (pageCount > 1) { if (pageIndex!=1) //如果當前頁不是第一頁,顯示首頁標識 { sb.AppendFormat("<a href='{0}?pageIndex=1&&pageSize={1}'>首 頁", requestHref, pageSize); } sb.Append(" "); if (pageIndex>1) //如果當前頁大於1,顯示上一頁標識 { sb.AppendFormat("<a href='{0}?pageIndex={1}&&pageSize={2}'>上一頁</a>" , requestHref, pageIndex - 1, pageSize); } sb.Append(" "); if (pageIndex!=pageCount) //如果當前頁不是最后一頁,顯示下一頁標識 { sb.AppendFormat("<a href='{0}?pageIndex={1}&&pageSize={2}'>下一頁</a>" , requestHref, pageIndex + 1, pageSize); sb.AppendFormat("<a href='{0}?pageIndex={1}&&pageSize={2}'>末 頁</a>" , requestHref, pageCount, pageSize); } sb.Append(" "); } sb.AppendFormat("第{0}頁/共{1}頁", pageIndex, pageCount); sb.AppendFormat("</div>"); return sb.ToString(); } }
//頁面調用分頁類的分頁方法:要將傳如的string類型轉成HtmlString類型,采用@Html.Raw(string str)函數
@{
string href = "/UserInfo/Index/";
@Html.Raw(PageBarHelper.GetPageBar(href, (int)ViewData["recordcount"], (int)ViewData["pageIndex"], (int)ViewData["pageSize"]));
}
