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>
相关推荐
用户11977079480737 分钟前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
deli00712 分钟前
地图定位为什么偏了 500 米?GPS 与火星坐标实测
前端
TK泰妞14 分钟前
节日促销前,TikTok 商品视频应该提前准备什么?
前端·人工智能·节日
CCIE-Yasuo26 分钟前
网络安全-学习web开发-列表、标签
前端·学习·web安全
小大宇29 分钟前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
用户114818678948432 分钟前
Nuxt 3 学习版 Demo:跟着做一遍,从跑起来到自己会改
前端
hiahiahia1231 小时前
Streaming Model Output
开发语言·前端
paopaokaka_luck1 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩1 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron
asaotomo1 小时前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记