ASP.NET 生成分页 HTML 函数示例

cs 复制代码
public static string GeneratePagingHtml(int currentPage, int totalPages, string baseUrl)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("<div class=\"pagination\">");

    // 上一页
    if (currentPage > 1)
    {
        sb.Append("<a href=\"" + baseUrl + "?page=" + (currentPage - 1) + "\">上一页</a>");
    }
    else
    {
        sb.Append("<span class=\"disabled\">上一页</span>");
    }

    // 页码
    for (int i = 1; i <= totalPages; i++)
    {
        if (i == currentPage)
        {
            sb.Append("<span class=\"current\">" + i + "</span>");
        }
        else
        {
            sb.Append("<a href=\"" + baseUrl + "?page=" + i + "\">" + i + "</a>");
        }
    }

    // 下一页
    if (currentPage < totalPages)
    {
        sb.Append("<a href=\"" + baseUrl + "?page=" + (currentPage + 1) + "\">下一页</a>");
    }
    else
    {
        sb.Append("<span class=\"disabled\">下一页</span>");
    }

    sb.Append("</div>");
    return sb.ToString();
}

这个函数接受三个参数:

  1. currentPage: 当前页码
  2. totalPages: 总页数
  3. baseUrl: 分页链接的基础 URL

函数会生成一个包含上一页、页码和下一页的 HTML 分页导航

使用示例:

cs 复制代码
int currentPage = 3;
int totalPages = 10;
string baseUrl = "~/MyPage.aspx";

string paginationHtml = GeneratePagingHtml(currentPage, totalPages, baseUrl);

生成的 HTML 输出:

html 复制代码
<div class="pagination">
    <a href="~/MyPage.aspx?page=2">上一页</a>
    <a href="~/MyPage.aspx?page=1">1</a>
    <a href="~/MyPage.aspx?page=2">2</a>
    <span class="current">3</span>
    <a href="~/MyPage.aspx?page=4">4</a>
    <a href="~/MyPage.aspx?page=5">5</a>
    <a href="~/MyPage.aspx?page=4">下一页</a>
</div>
相关推荐
暗不需求1 分钟前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
用户0595401744622 分钟前
把 Redis 持久化测试从 800 行 Shell 换成 30 行 pytest,排错效率翻了 10 倍
前端·css
GISer_Jing27 分钟前
AI全栈工程师知识体系全景:从前后端核心架构到落地项目全拆解
前端·人工智能·后端·ai编程
Wect32 分钟前
深度剖析浏览器跨域问题
前端·面试·浏览器
陈随易1 小时前
bun将会支持Bun.image,你怎么看?
前端·后端·程序员
jingqingdai31 小时前
别用正则格式化 HTML!我用 DOM 遍历实现零风险本地格式化,老项目重构效率直接拉满
前端·重构·html
木斯佳1 小时前
前端八股文面经大全:腾讯前端实习二、三OC面(2026-04-27)·面经深度解析
前端·状态模式
Python私教1 小时前
如意Agent日志系统重构:从 print() 大海捞针到结构化可观测性栈
java·前端·重构
We་ct2 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·leetcode·typescript·动态规划