牛腩新闻发布系统——真假分页

牛腩新闻发布系统已近尾声,牛老师重磅推出真假分页作为压轴,足以见得分页的重要性。我们就一起看一下真假分页的实现以及各自的特点。

一、分页简介

当我们显示足够大的数据量时,所有数据显示在一页上,会造成不必要的麻烦,本着为用户服务的态度,我们往往采用分页显示的处理办法。分页主要分为真分页与假分页。

假分页: 从数据库一次性取出所有数据绑定到控件上,再将所有数据根据每页显示记录条数进行分页。当数据量 比较大时,这种分页方法会造成查询速度, 使用户体验度降低,但是跳页速度较快。

真分页:在执行查询操作的时候,只查询当前页面的要显示的内容。每次跳转页面也都要查询数据库取对应数据。查询速度快,用户体验度高,页面跳转速度较假分页慢。当数据量比较大时,适合用真分页技术。


二、分页实现

1、假分页的实现

假分页的实现比较简单,只需依赖自带控件GridView即可实现。

1、添加GridView控件GridView1

2、编写代码,绑定数据

/// <summary>
        /// 加载页面时,绑定数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                BindNews();
            }
        }

        private void BindNews()
        {
            GridView1.DataSource = new NewsManager().SelectAll();     //查询所有数据并绑定
            GridView1.DataBind();
        }

        /// <summary>
        /// 实现跳页时数据更新
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex  = e.NewPageIndex;
            BindNews();
        }

3、设定GridView属性

1)AllowPaging(允许分页属性)设为true

2)PageSize(页面显示数量)

3、真分页实现

因为GridView有自身的不足和局限性,我们引入外部控件ASPNETPAGER控件来实现真分页。

1、添加ASPNETPAGERT控件

下载控件,并添dll加到网页。

下载地址:http://www.webdiyer.com/aspnetpager/downloads/

2、进行数据绑定和属性设置

在此,只揭示道理,具体实现自己尝试去完成。UI代码如下:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                anp.RecordCount = 48;              //设定消息数
            }
        }

        protected void anp_PageChanged(object sender, EventArgs e)
        {
            //记录每页记录的起始数
            Response.Write("开始记录数:"+ anp.StartRecordIndex  + "<br>结束记录数:"+anp.EndRecordIndex );
        }

显示效果:

了解真假分页的区别、特性和实现方法。在以后的Web开发过程中,分页技术会一直伴随着我们。随着分页技术的学习,牛腩新闻发布系统也拉上了帷幕。作为B/S的第一个项目,从中学到了很多知识,对Web开发兴趣也更加浓厚,牛腩为我开启了B/S的大门。

时间: 2024-10-07 06:07:36

牛腩新闻发布系统——真假分页的相关文章

牛腩新闻发布系统-真假分页

牛腩新闻发布系统在新闻管理页面出现这么一个问题,当新闻条数非常多的时候,表格会很长,如下图,圆角矩形就会出现一个缺口.在这里就引出了分页技术. 具体解决办法如下: 1.我们首先在Web窗体源中拉入一个GridView控件,然后在设计中设置其属性.AllowPaging:True,,PageSize:5(可根据自己意愿来). <span style="font-size:18px;"><asp:GridView ID="GridView1" runa

【牛腩新闻发布系统】——分页其实很简单

牛腩完成了,我觉得重头戏在最后的分页上,因为通过对ITOO界面的逐步了解.我觉得,分页就是面向对 象的一大步,在整理了分页的逻辑,加上师傅和同学的一些好的建议,所以想写出来这篇文章跟大家分享我是如何敲 分页的. 逻辑是执行力的基础 在开始敲分页的之前,我很认真的理了一下分页的逻辑,不过就是简单的三层逻辑: D层:在D层写分页的查询数据,这里需要强调的是怎么查?通过对牛腩视频的理解,就需要两个参 数:startRecord与endRecord,并且需要返回datatable表. public Da

牛腩新闻发布系统总结——网站发布和分页制作

牛腩新闻发布系统的视频看了将近半个月的时间,今天成功地把它发布了,哈哈.第一次看教学视频看得这么专注,都不带走思的,很不错.给小牛老师赞一个,嘿嘿! 言归正传,每学完一个阶段,最重要的就是总结,所以就允许我以倒序的形式,颗粒归仓吧! 牛腩新闻发布系统的发布 参考博文: win7下IIS的安装和配置 http://www.jb51.net/article/29787.htm VS2010网站发布详解 http://wanghaitaoboke.blog.163.com/blog/static/17

牛腩新闻发布系统---外键约束下如何删除记录

一.为什么使用外键? 查了些资料,八个字"保持完整性.一致性",结合我之前做的重构机房收费系统,我的理解是"防止相关表中数据没有关联而变得孤立,最终导致数据冗余",得出这个结论是上次让贾丽敏帮忙点系统时候我最深刻的感受,因为我的数据库关系图中辣么多张表却没有丝毫关系-- 既然官方解释是"完整性和一致性",就先来说明一下: 对于完整性和一致性,不少人都混为一谈了. 完整性(integrity)更多是针对实际业务来说的,比如说一个职员ID,不能在一个

牛腩新闻发布系统笔记——怎么写CSS

根据这牛腩学习敲新闻发布系统已经有一段时间了,挺佩服牛腩的,讲那么多东西,我听着也不觉得枯燥,反而有种,一不留神就会错过很多东西的感觉,所以有些地方也是重复又重复的在看. 这篇博客就总结总结小编在学习牛腩新闻发布系统的时候一些笔记.可能知识还比较原生态,but who cares.现在先提炼出来,以后慢慢的体会和升华吧. 牛腩一部分可以说是和机房相似,也是让我从.net到c#的一个过渡.中间一部分就是讲div +css了.里面的知识说多也不多的,根据不同的需求,它又有各种变形和组合,这加起来就有

浅谈牛腩新闻发布系统

结束了漫长的C/S之旅,跨入B/S的学习,一切又是崭新的,充满希望. B/S的学习首先接触的便是牛腩老师的新闻发布系统,看了这么多年的网页终于要自己来编写一个网页了着实还是让我小小激动了一把.但是敲这个系统的时候总是有一种走迷宫,迷迷茫茫的感觉,什么跟什么啊... 于是,我机智的决定我要先把视频看一遍,至少要看一多半,至少得让我直到这个系统大概的框架吧.看了一半多终于形成了一个模糊的框架: 牛腩新闻发布系统分为前台和后台两部分,个人理解其实就像我们机房收费的UI层和B,D层的关系,前台负责显示给

牛腩新闻发布系统总结(四)--知识点滴

紧接上篇博客:牛腩新闻发布系统总结(三)----知识点滴,继续我们的总结: 第五,在回复评论后如何保持滚动条的位置不变: <%@ Page Title="新闻内容-牛腩新闻发布系统" Language="C#" MasterPageFile="~/common.Master" AutoEventWireup="true" CodeBehind="newsContent.aspx.cs" Inherit

牛腩新闻发布系统--重构SQL Helper

天外有天,人外有人.自我进提高班以来,一直都在考虑,先前重构机房的时候,看到别人在D层加了SQL Helper,就一定要学者加上玩玩,等做完了以后,进行下一个阶段牛腩的时候,又看到了人家建的SQL Helper,不觉感慨,跟人家比,人家就是我的老师! 闲话就不多说了,进行正式的话题:如何写好SQL Helper?从宏观上讲,SQL Helper是完全体现了面向对象的抽象和封装的思想的.它对重复代码抽取出来,进行抽象,抽象就是为了封装,提高了代码的复用. 那么就该讨论怎么写的问题.如果我先上来给大

【牛腩新闻发布系统】----你的验证码正确么

前言 这是一个神奇的网站--牛腩新闻发布系统,虽然做的不咋地,但毕竟是自己动手敲出来,还是有一点点的满足感.同时这也是小编的第一个雠小鸭,长相不算漂亮,发育还是挺健全的. 终有一天我的丑小鸭会变成白天鹅. 一步一步的进化,一步一步的蜕变-- 你的验证码正确么 哎呀--为什么我的牛腩新闻发布系统   请输入验证码的图片一直为这个样子呀--不显示,就是不显示图片,图片加载出错呀.想想估计是图片路径不正确. 尝试一:牛老师说的图片加载路径 <img src="handler/WaterMark.