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>
相关推荐
PineappleCoder7 小时前
性能数据别再瞎轮询了!PerformanceObserver 异步捕获 LCP/CLS,不卡主线程
前端·性能优化
PineappleCoder7 小时前
告别字体闪烁 / 首屏卡顿!preload 让关键资源 “高优先级” 提前到
前端·性能优化
m0_471199637 小时前
【vue】通俗详解package-lock文件的作用
前端·javascript·vue.js
GIS之路8 小时前
GDAL 读取KML数据
前端
今天不要写bug8 小时前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户47949283569158 小时前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
咬人喵喵8 小时前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~9 小时前
C++ 日志实现
java·前端·c++
咬人喵喵9 小时前
CSS 盒子模型:万物皆是盒子
前端·css