AspNetPager 多条件分页查询

    AspNetPager 这个分页控件一般做后台基本都知道的,我就不多说了(说明与下载链接:http://www.webdiyer.com/Controls/AspNetPager),嘿嘿!其实我也是刚刚用这个控件,也遇到了一些问题。

下面我就分享一下我遇到的问题与解决的办法。

1、首先我遇到的第一个问题就是,应用后想跳页,但是找了好几个源码都不对。就是不出来。仔细一对比,少些了一个 ShowInputBox="Always" 属性,下面是完整的代码,可以直接拷贝。

AspNetPager 多条件分页查询

 <cc1:AspNetPager ID="AspNetPager1" runat="server" Width="100%" UrlPaging="true" FirstPageText="首页"
             LastPageText="末页" NextPageText="下页" PrevPageText="上页" ShowPageIndexBox="Always"
             ShowInputBox="Always" PageIndexBoxType="TextBox" HorizontalAlign="right" PageSize="10"
             NumericButtonCount="6" NumericButtonTextFormatString="{0}" SubmitButtonText="跳转"
             SubmitButtonStyle="botton" OnPageChanged="pager_PageChanged">
 </cc1:AspNetPager>

2、第二个问题,我想显示一下,第几页、共多少页、当前是多少页、然后我疑惑了,后来我发现了另外两个属性可以完成这件事。 CustomInfoHTML=“拼接AspNetPager中相关值”  和ShowCustomInfoSection=“位置”,代码如下:

AspNetPager 多条件分页查询

 <cc1:AspNetPager ID="AspNetPager1" runat="server" Width="100%" UrlPaging="true" FirstPageText="首页"
             LastPageText="末页" NextPageText="下页" PrevPageText="上页" ShowPageIndexBox="Always"
             ShowInputBox="Always" PageIndexBoxType="TextBox" HorizontalAlign="right" PageSize="10"
             NumericButtonCount="6" NumericButtonTextFormatString="{0}" SubmitButtonText="跳转"
             CustomInfoHTML="第 <font color='red'><b>%CurrentPageIndex%</b></font> 页 共 %PageCount% 页 显示 %StartRecordIndex%-%EndRecordIndex% 条"
             ShowCustomInfoSection="left" SubmitButtonStyle="botton" OnPageChanged="pager_PageChanged">
 </cc1:AspNetPager>

3、其实第二个问题不解决也行,因为意义不大。接下来遇到的才是真正的问题。我发现根据条件查到结果了,但点击下一页时,又把全部的查出来了,千万不要直接使用上边的代码,我敢保证一定会出错。如何保持搜索的结果,也就是你的条件,ViewState视图状态觉对是首选,现在我们就在后台使用ViewState["Where"]来保存条件。亲!发现问题了吗?

那好如果发现我说的问题了,那就换存储方式吧,当然我想到了Session["Where"],嘿嘿……奇迹出现了,我们的条件分页生效了,但是问题是为什么ViewState["Where"]就不好使呢?

经过我的排查,UrlPaging="true"  这个属性去掉,我们的ViewState["Where"]就好使了。不过去掉之后,Url就不给你干活了,当然方法还有很多,看个人需求。如果要是想要Url 那就使用Session吧!

 <cc1:AspNetPager ID="AspNetPager1" runat="server" Width="100%" FirstPageText="首页"
             LastPageText="末页" NextPageText="下页" PrevPageText="上页" ShowPageIndexBox="Always"
             ShowInputBox="Always" PageIndexBoxType="TextBox" HorizontalAlign="right" PageSize="10"
             NumericButtonCount="6" NumericButtonTextFormatString="{0}" SubmitButtonText="跳转"
             SubmitButtonStyle="botton" OnPageChanged="pager_PageChanged">
 </cc1:AspNetPager>

后台代码就不粘了,看这篇文章的你绝对后台没问题。

上一篇:Qt:&OpenCV—Q图像处理基本操作(Code)


下一篇:JavaScript 数据验证类