怎么在asp.net項目中實現一個分頁功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
具體實現方法如下:
復制代碼 代碼如下:
///
/// 分頁內容
///
/// 頁面大小
/// 頁面數量
/// 當前頁
/// url模式:demo.aspx?page={0}
/// 窗口模式
///
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("");
#region 首部處理
if (currendIndex > 1)
{
strHtml.AppendFormat("[首頁]", target);
strHtml.AppendFormat("[上一頁]", string.Format(pattern, currendIndex - 1), target);
}
else
{
strHtml.Append("[首頁] [上一頁]");
}
#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("{0}", i);
strHtml.AppendLine();
continue;
}
strHtml.AppendFormat("[{2}]", string.Format(pattern, i), target, i);
strHtml.AppendLine();
}
#endregion
#region 尾部處理
if (currendIndex == pageCount)
{
strHtml.Append("[下一頁][末頁]");
strHtml.AppendFormat("總共({0})頁", pageCount);
}
else
{
strHtml.AppendFormat("[下一頁]", string.Format(pattern, currendIndex + 1), target);
strHtml.AppendFormat("[末頁]", string.Format(pattern, pageCount), target);
strHtml.AppendFormat(" ", pageCount);
}
#endregion
strHtml.Append("");
return strHtml.ToString();
}
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯網站建設公司,的支持。