MVC分页 页面上显示的是拼凑的字符串
MVC分页 页面上显示的是拼接的字符串
是建了一个htmlHelper的扩展类,里面拼接的
是建了一个htmlHelper的扩展类,里面拼接的
/// <summary>
/// 分页
/// </summary>
/// <param name="helper"></param>
/// <param name="id">分页id</param>
/// <param name="currentPageIndex">当前页</param>
/// <param name="pageSize">分页尺寸</param>
/// <param name="recordCount">记录总数</param>
/// <param name="htmlAttributes">分页头标签属性</param>
/// <param name="className">分页样式</param>
/// <param name="mode">分页模式</param>
/// <returns></returns>
public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize,
int recordCount, object htmlAttributes, string className, PageMode mode)
{
TagBuilder builder = new TagBuilder("div");
builder.IdAttributeDotReplacement = "_";
builder.GenerateId(id);
builder.AddCssClass(className);
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
builder.InnerHtml = GetNormalPage(currentPageIndex, pageSize, recordCount, mode);
return builder.ToString();
}
/// <summary>
/// 获取普通分页
/// </summary>
/// <param name="currentPageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="recordCount"></param>
/// <returns></returns>
private static string GetNormalPage(int currentPageIndex, int pageSize, int recordCount, PageMode mode)
{
int pageCount = (recordCount % pageSize == 0 ? recordCount / pageSize : recordCount / pageSize + 1);
StringBuilder url = new StringBuilder();
url.Append(HttpContext.Current.Request.Url.AbsolutePath + "?page={0}");
NameValueCollection collection = HttpContext.Current.Request.QueryString;
string[] keys = collection.AllKeys;
for (int i = 0; i < keys.Length; i++)
{
if (keys[i].ToLower() != "page")
url.AppendFormat("&{0}={1}", keys[i], collection[keys[i]]);
}
StringBuilder sb = new StringBuilder();
sb.Append("<div class='col-sm-6'>");
sb.Append("<div class='dataTables_info' id='sample-table-2_info'>");
sb.AppendFormat("总共{0}条记录,共{1}页,当前第{2}页 ", recordCount, pageCount, currentPageIndex);
sb.Append("</div></div>");
sb.Append("<div class='col-sm-6'>");