分页解决方案之分页算法——Pager_SQL的详细使用方法和注意事项
上一次有点匆忙,如何使用介绍的不是太清楚,而且这两天有改掉了几个bug,所以这次呢详细说一下,然后更新一下代码和demo。 源代码和demo的下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html
FAQ: 1、为什么要有一个保存位置的设置? 由于Pager_SQL是从QuickPager分页控件里面分离出来的,所以他的目的要能够适应web控件的特点。如果您自己编写过自定义控件的话,那么您可能会遇到这样的问题:明明我在Page_Load里面给控件的属性赋值了,但是在回发(提交表单)的时候却提示我没有给属性赋值(属性值为空)。这是为什么呢?原因就在于在回发的时候Page_Load被延后执行了。 那么要如何解决这个问题呢?一是在Oninit里面赋值,一是在控件内部把属性值保存在Viewstate里面。而我这采用了后者。Viewstate里面的东东谁然看起来乱七八糟的,但是很容易就可以把它变成能够看懂的信息,那么如果把表名、字段名这些敏感的信息放在Viewstate里面显然是不安全的,所以我就自己写了一个类库,可以把信息保存在隐藏域(当然也可以是Cookie、Session等)里面,然后还可以设置密钥,这样没有密钥的话是不能破解的,除非暴力破解或者瞎蒙。 当然了现在Pager_SQL已经独立出来了,有的时候是不需要保存的,或者您觉得保存在客户端了即使加密也是不安全的,那么您可以选择不保存。 为了能够满足不同的需要,所以设置了这两个属性,一个是选择保存信息的位置(当然可以不保存),另一个就是加密用的密钥。 2、保存了什么信息,又保存在了哪里? 保存的信息就是各个属性的值,保存的位置您可以自由选择,可以选择不保存,可以选择保存在隐藏域(web控件的时候需要),也可以保存在Cookie、Session、Cache等地方。 3、排序字段(TableOrderByColumns)如何设置? Max分页算法只支持一个排序字段,例如: “ID”、“ID desc&rdqu |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |