使用AspNetPager进行分页,查询条件丢失问题
在Asp.Net中使用AspNetPager进行分页时,发现一个问题:
当通过查询条件进行查询后,对查询结果进行翻页操作时,查询条件会丢失。
当修改UrlPaging属性后(设置UrlPaging=“false") 问题解决,即:
<webdiyer:AspNetPager ID="AspNetPager" runat="server" Width="90%" UrlPaging="false" ShowPageIndexBox="Always" AlwaysShow="True" PageIndexBoxType="DropDownList" TextBeforePageIndexBox="转到: " HorizontalAlign="Right" OnPageChanged="AspNetPager_PageChanged" EnableTheming="true" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" CssClass="paginator"> </webdiyer:AspNetPager>
为什么会这样呢?
因为AspNetPager有两种分页方式:
1. PostBack方式,UrlPaging="false",默认按此方式。
PostBack方式用post替代get来隐式传递页面,Url不会发生变化,Viewstate也不会被清空。
2. Url方式,UrlPaging=”true“。
按Url方式分页时,可以通过把搜索关键字加到Url参数中来实现搜索。
Url方式分页,每次翻页Url都会发生改变,都是重新打开页面,控件的值和ViewState都会清空。