前言

  牛腩老师在视频的末尾讲到了真假分页技术,所谓分页就是当数据量比较大的时候,并不是给用户展示出全部的数据,而是只展示一部分。但是分页也分为真分页和假分页,下面就总结一下什么是真分页,什么是假分页。

真假分页简介

  假分页:一次性从数据库中查出所有的记录,但是用户在前端可以按页查看。
  真分页:每次只从数据库中取出相应的记录,随需随取。

假分页

  假分页我们可以利用 ASP.NET 自带的 GridView 控件,优点是简单。
  首先将 GridView 控件的 AllowPaging 属性改为 True,开启分页功能。其次可以设置 PageSize 这个属性,即一页显示多少条记录。最后编写代码就可以了。

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindNews();
}
private void BindNews()
{
    DataTable dt = new NewsManager().SelectAll();
    repNews.DataSource = dt;
    repNews.DataBind();
}

真分页

  真分页适合用于数据量比较大的时候,用分页控件实现真分页的优点是灵活。它使得显示数据和分页实现分离,数据可以来自任何数据源,而且还可以自定义显示样式。
  牛腩老师在视频中向我们介绍了一个分页控件:AspNetPager,下载地址:分页控件。除了下载之外,还可以利用 VS 的 Nuget包管理器,直接在程序包管理器控制台中输入以下命令:Install-Package AspNetPager_CN -Version 7.5.1
牛腩新闻发布系统—真假分页
敲下回车之后,dll文件就会自动加到 bin 目录下,然后再将这个控件添加到工具箱中,就可以直接使用了。
接下来编写代码就可以了:首先在aspx文件中设计好分页控件的样式

<webdiyer:AspNetPager 
	ID="AspNetPager1" CssClass="aspnetpager" LayoutType="Table" NumericButtonCount="6" UrlPaging="true"
    PageSize="5" runat="server" HorizontalAlign="Center" OnPageChanged="AspNetPager1_PageChanged" 
    
    PagingButtonType="Image" Width="100%" ImagePath="/images/" ButtonImageNameExtension="n" 
    ButtonImageExtension=".gif" DisabledButtonImageNameExtension="g" CpiButtonImageNameExtension="r"
	PagingButtonSpacing="10px" ButtonImageAlign="left"
	
    CustomInfoHTML="第 <font color='red'><b>%CurrentPageIndex%</b></font> 页 , 共 %PageCount% 页"
    ShowCustomInfoSection="Left" AlwaysShow="true" ShowPageIndexBox="Always" TextBeforePageIndexBox="转到第" 
    TextAfterPageIndexBox="页" SubmitButtonText="Go">
</webdiyer:AspNetPager>

其次就是在后台代码中绑定数据了

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["admin"] != null && Session["admin"].ToString() == "niunan")
    {
        if (!Page.IsPostBack)
        {
            //获取记录的总数,这个一定要写,否则界面上不会显示数据
            AspNetPager1.RecordCount = new NewsManager().SelectAll().Rows.Count;
            BindNews();
        }
    }
    else
    {
        Response.Redirect("login.aspx");
    }        
}
//绑定新闻
private void BindNews()
{
    int startIndex = AspNetPager1.StartRecordIndex;
    int endIndex = AspNetPager1.EndRecordIndex;
    DataTable dt = new NewsManager().SelectPageNews(startIndex, endIndex);
    repNews.DataSource = dt;
    repNews.DataBind();
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
    BindNews();
}

下面是效果图:
牛腩新闻发布系统—真假分页

后语

  如果想更多的了解分页控件如何使用的话,http://www.webdiyer.com/aspnetpager/ 这个网站介绍的很详细,有帮助文档还有在线示例,对此控件的各个属性介绍的很详细。上面显示的样式就是使用的图片按钮,如果对上面的代码中有不理解的地方,请参照此网站。

相关文章:

  • 2021-07-13
  • 2021-08-13
  • 2021-10-06
  • 2021-08-14
  • 2022-12-23
猜你喜欢
  • 2021-06-06
  • 2021-05-08
  • 2022-12-23
  • 2021-11-06
  • 2021-10-23
  • 2021-11-04
  • 2021-04-12
相关资源
相似解决方案