视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
asp.net 分页潜谈
2020-11-27 22:44:22 责编:小采
文档


要做出分页效果不外乎有这几个方向入手,从数据源、从服务器或者从客户端。不管你是怎么做都跳不出这三个地方(其实B/S结构的开发了就是在这三个地方做文章,只不过有些微变化而已)。

先说说从数据源入手的吧。一想到数据源做分页,自然是T-SQL了。什么存储过程,视图、特殊函数(当然,这里指的只是我熟悉的MS)。能用到的SQL知识都往上砸。具体的实现就不说了,忒Easy。代码部分基本没有什么,只要每次更改T-SQL语句就行了。不好的就是太受数据库的,程序中一丁点的变化,所有有关SQL的地方都要变,有些甚至要改变数据库的结构。没有扎实的数据库知识是万万不行了。

服务器端做分页可能是行家们最常用到的方法了。因为有包装好的数据绑定控件啊!拿来就可以用。但是,那么说微软是大佬级人物呢,做个东西都深谋远虑。把菜鸟跟恐龙都考虑在内。你如果是菜鸟就用GridView,内置的分页让你几乎不用写代码就能实现。但如果你是恐龙那就用ListView或DataList等控件,绝对能让你的技术发挥的淋漓尽致。微软为了给这些人个台阶下,就又开发出了DataPager控件。他好像只认IPageableItemContainer接口。紧接着就又有了AspNetPager控件,这就给所有数据绑定控件又一个分页的机会。不过AspNetPager与DataPager不同,AspNetPager只有分页的UI部分,并不能单独完在数据的分页功能。其实大家一定会问,为什么我们不能做自己的分页控件呢?这好像不是微软的原则啊?哈哈,别误会微软。其实早就有这个方法了,只是少有人问津。这就是PagedDataSource。他是没有UI的,微软所有分页的控件都是扩展于他的,包括最早的GridView。有了他,我们就可以随心所欲的做自己的分页控件了。如果把AspNetPager和PagedDataSource结合起来用,那就是如虎添翼。

再说说客户端的分页吧。在以前,客户端做分页无疑就是胖客户端。把所有数据都存到页面,用js控制显示顺序。少量数据还可以忍受,数据一多,那就是谋杀。不过,自从AJAX的出现,改变了这一现象。虽然也少不了的与服务器交互,但总比干等着强吧?这方面.net也表现不错。有了UpdatePanel,一切尽在不言中啊。
以上三个方向都可以很好的完成分页功能,但谁好谁坏也不是我一个人就能决定的,还要看个人的喜好。不过,有一人原则不能忽略,那就是“大道至简,适可而止”。相信,每个人都有自己的一番体会的。

下载本文
显示全文
专题