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>
相关推荐
共享家95275 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
Halo_tjn6 小时前
基于封装的专项 知识点
java·前端·python·算法
m0_748229999 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
C澒9 小时前
前端监控系统的最佳实践
前端·安全·运维开发
xiaoxue..9 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
hhy_smile9 小时前
Class in Python
java·前端·python
小邓吖10 小时前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
南风知我意95710 小时前
【前端面试2】基础面试(杂项)
前端·面试·职场和发展
LJianK110 小时前
BUG: Uncaught Error: [DecimalError] Invalid argument: .0
前端
No Silver Bullet10 小时前
Nginx 内存不足对Web 应用的影响分析
运维·前端·nginx