asp.net 分页

/// <summary> 
/// 分页内容 
/// </summary> 
/// <param name="size">页面大小</param> 
/// <param name="count">页面数量</param> 
/// <param name="currendIndex">当前页</param> 
/// <param name="pattern">url模式:demo.aspx?page={0}</param> 
/// <param name="target">窗口模式</param> 
/// <returns></returns> 
public static string get_pagenation(int size, 
                                    int count, 
                                    int currendIndex, 
                                    string pattern, 
                                    string target) 
{ 
    //1>打开窗口目标     target = string.IsNullOrEmpty(target) ? "_top" : target; 
    //2>总页数     int pageCount = count / size; 
    pageCount = pageCount * size == count ? pageCount : pageCount + 1; 
    //3>分页内容     StringBuilder strHtml = new StringBuilder(); 
    strHtml.Append("<span class='pagenation'>");     #region 首部处理     if (currendIndex > 1) 
    { 
        strHtml.AppendFormat("<a href='1' target='{0}'>[首页]</a>", target); 
        strHtml.AppendFormat("<a href='{0}' target='{1}'>[上一页]</a>", string.Format(pattern, currendIndex - 1), target); 
    } 
    else
    { 
        strHtml.Append("<span class='disabled'>[首页]</span>  <span class='disabled'>[上一页]</span>"); 
    }     #endregion 
    #region 中间部分     int i = 1; 
    int right = (currendIndex + 4) > pageCount ? pageCount : currendIndex + 4; 
    if (currendIndex > 6) 
    { 
        i = currendIndex - 5; 
    } 
    else
    { 
        right = pageCount >= 10 ? 10 : pageCount; 
    } 
    for (; i <= right; i++) 
    { 
        if (i == currendIndex) 
        { 
            strHtml.AppendFormat("<font class='current'>{0}</font>", i); 
            strHtml.AppendLine(); 
            continue; 
        } 
        strHtml.AppendFormat("<a href='{0}' target='{1}'>[{2}]</a>", string.Format(pattern, i), target, i); 
        strHtml.AppendLine(); 
    }     #endregion 
    #region 尾部处理     if (currendIndex == pageCount) 
    { 
        strHtml.Append("<span class='disabled'>[下一页]</span><span class='disabled'>[末页]</span>"); 
        strHtml.AppendFormat("总共({0})页", pageCount); 
    } 
    else
    { 
        strHtml.AppendFormat("<a href='{0}' target='{1}'>[下一页]</a>", string.Format(pattern, currendIndex + 1), target); 
        strHtml.AppendFormat("<a href='{0}' target='{1}'>[末页]</a>", string.Format(pattern, pageCount), target); 
        strHtml.AppendFormat("  <label>总共({0})页</label>", pageCount); 
    }     #endregion     strHtml.Append("</span>"); 
    return strHtml.ToString(); 
}

 

 

posted @ 2014-11-30 16:53  disneyland  阅读(162)  评论(0编辑  收藏  举报