临沂阿里云代理商:aspnet分页显示

您好,想要在ASP.NET中进行分页显示,可以参考以下步骤:

  1. 创建一个ASP.NET页面,并在其代码中设置Page_Load事件来实现数据的绑定。例如:

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
    BindData();
}

}

  1. 在代码中实现数据的查询和分页,例如:

private void BindData()
{

int pageIndex = 1;  //当前页码
int pageSize = 10;  //每页显示数量

//获取数据总数
int totalCount = GetDataCount();

//计算总页数
int pageCount = (totalCount + pageSize - 1) / pageSize;

//获取当前页码
if (!string.IsNullOrEmpty(Request.QueryString["page"]))
{
    pageIndex = Convert.ToInt32(Request.QueryString["page"]);
}

//控制页码范围
if (pageIndex < 1)
{
    pageIndex = 1;
}
else if (pageIndex > pageCount)
{
    pageIndex = pageCount;
}

//获取当前页数据
DataTable dt = GetDataByPage(pageIndex, pageSize);

//绑定数据到GridView控件
gvData.DataSource = dt;
gvData.DataBind();

//绑定分页控件
BindPager(pageIndex, pageCount);

}

  1. 实现获取数据总数的方法,例如:

private int GetDataCount()
{

//查询数据总数的SQL语句
string sql = "SELECT COUNT(*) FROM TableName";

//执行SQL语句,返回数据总数
SqlConnection conn = new SqlConnection("连接字符串");
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
conn.Close();

return count;

}

4、根据页码和每页显示数量,查询当前页的数据。例如:

private DataTable GetDataByPage(int pageIndex, int pageSize)
{

//计算开始行号和结束行号
int startRowIndex = (pageIndex - 1) * pageSize;
int endRowIndex = pageIndex * pageSize;

//查询当前页数据的SQL语句
string sql = "SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY ID) AS RowNumber, * FROM TableName) AS TempTable WHERE RowNumber > @startRowIndex AND RowNumber <= @endRowIndex";

//执行SQL语句,返回当前页数据
SqlConnection conn = new SqlConnection("连接字符串");
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@startRowIndex", startRowIndex);
cmd.Parameters.AddWithValue("@endRowIndex", endRowIndex);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();

return dt;

}

5、实现分页控件的绑定,例如:

private void BindPager(int pageIndex, int pageCount)
{

临沂阿里云代理商:aspnet分页显示
//生成分页控件的HTML代码
StringBuilder sb = new StringBuilder();

//首页链接
sb.Append("<a href="?page=1">首页</a>");

//上一页链接
if (pageIndex > 1)
{
    sb.Append("<a href="?page=" + (pageIndex - 1) + "">上一页</a>");
}

//页码链接
for (int i = 1; i <= pageCount; i++)
{
    if (i == pageIndex)
    {
        sb.Append("<span>" + i + "</span>");
    }
    else
    {
        sb.Append("<a href="?page=" + i + "">" + i + "</a>");
    }
}

//下一页链接
if (pageIndex < pageCount)
{
    sb.Append("<a href="?page=" + (pageIndex + 1) + "">下一页</a>");
}

//末页链接
sb.Append("<a href="?page=" + pageCount + "">末页</a>");

//将HTML代码绑定到Literal控件上
litPager.Text = sb.ToString();

}

希望以上内容对您有所帮助,如有疑问,请随时咨询。

您好,ASP.NET分页显示的方法如下:

  1. 在ASPX页面中,添加一个GridView控件,并为其配置数据源。
  2. 在Page_Load()事件中,检查是否为初次加载页面。如果是,设置GridView的PageIndex属性为0(第一页)。
  3. 在GridView的PageIndexChanging事件中,更改GridView的PageIndex属性为所选页面,并重新绑定数据源。
  4. 在GridView的PreRender事件中,设置分页文本。

下面是示例代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GridView1.PageIndex = 0;
    }

}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
}

protected void GridView1_PreRender(object sender, EventArgs e)
{
    if (GridView1.Rows.Count > 0)
    {
        GridViewRow pagerRow = GridView1.BottomPagerRow;
        if (pagerRow != null)
        {
            TableCell tc = pagerRow.Cells[0];
            tc.Text = "页次: <strong>" + (GridView1.PageIndex + 1) + "</strong> / " +
                GridView1.PageCount + " 共<strong>" + GridView1.Rows.Count + "</strong>条记录 ";
            for (int i = 0; i < pagerRow.Cells.Count; i++)
            {
                if (i != 0)
                {
                    pagerRow.Cells[i].Visible = false;
                }
            }
        }
    }
}

希望对您有所帮助!

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/116872.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年12月30日 14:42
下一篇 2023年12月30日 15:01

相关推荐

  • 大连阿里云代理商:阿里云oss 防盗链

    阿里云OSS是阿里云对象存储服务(OSS,Object Storage Service)的简称,它为云计算用户提供了在云端存储大量、不经常访问的、非结构化的数据的能力。 阿里云OSS的防盗链功能,可以帮助企业减少不必要的费用开销和数据安全风险。互联网上的盗链行为会消耗大量的带宽资源,并可能带来数据安全问题。因此,防盗链非常重要。 利用阿里云OSS的Refer…

    2024年3月15日
    27300
  • 衡阳阿里云企业邮箱代理商:阿里云邮箱用什么登录

    衡阳阿里云企业邮箱代理商:阿里云邮箱用什么登录 阿里云企业邮箱是一款基于云计算技术的企业级邮箱服务,提供了稳定、安全、高效的电子邮件通讯解决方案。作为衡阳地区的阿里云企业邮箱代理商,我们将为您介绍阿里云企业邮箱的登录方式及其优势。 阿里云企业邮箱登录方式 在使用阿里云企业邮箱登录时,用户可以选择以下几种方式: 网页登录:用户可以直接在浏览器中输入企业邮箱的网…

    2024年2月22日
    28900
  • 慈利阿里云代理商:阿里云云数据库RDS MySQL如何进行数据备份和紧急恢复?

    阿里云云数据库RDS MySQL进行数据备份和紧急恢复的步骤如下: 数据备份: 登录阿里云控制台,选择RDS实例的所在地域和实例类型。 在左侧导航栏选择“备份恢复”。 在备份恢复页面,选择“手动备份”选项。 选择要备份的数据库和备份方式,可以选择“逻辑备份”或“物理备份”。 点击“确定”进行数据备份。 紧急恢复: 登录阿里云控制台,选择RDS实例的所在地域和…

    2023年11月14日
    32100
  • 涿州阿里云企业邮箱代理商:阿里云代理需要多少钱

    涿州阿里云企业邮箱代理商:阿里云代理需要多少钱 阿里云企业邮箱是一款由阿里云推出的企业级邮箱服务,广受企业用户青睐。作为涿州地区的阿里云企业邮箱代理商,我们经常接到关于阿里云代理费用的询问。那么,阿里云企业邮箱代理需要多少钱呢?接下来,我们将为您详细介绍。 阿里云企业邮箱的优势 首先,让我们先来了解一下阿里云企业邮箱的优势。作为一款云端邮箱服务,阿里云企业邮…

    2024年2月17日
    30700
  • 九江阿里云代理商:安卓api开发培训

    九江阿里云代理商提供安卓API开发培训课程,旨在帮助学员掌握安卓应用开发所需的API技能。培训内容包括安卓系统架构和API概述、安卓应用组件和布局、安卓API调用和使用、安卓数据存储和管理等。 在培训过程中,学员将通过理论讲解和实际操作相结合的方式,学习安卓API的基本功能和使用方法。培训师傅都具备丰富的实际开发经验,能够指导学员解决实际开发中遇到的问题,并…

    2024年2月13日
    31100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/