.NET----AspNetPager不使用URL传递分页信息

本文介绍了解决AspNetPager组件翻页后ViewState丢失的问题。通过设置UrlPaging为false,使用POST代替GET传递页码,保持了ViewState的有效性,使得翻页后的排序状态得以保留。

 这两天做帖子列表,用得Repeater+AspNetPager。其中,我要用ViewState保存排序字段和升降序。但是页后ViewState就为空了,原来这是因为AspNetPager用的URL传递页码。url变成了:
http://localhost:1495/WebSite/TopicList.aspx?ForumId=1
http://localhost:1495/WebSite/TopicList.aspx?ForumId=2
……
这样每页的url都是变的,相当于翻页后访问了一个新的页面,所有ViewState均会置为空。新页面属于第一次访问,因此:都没有回传(IsPostBack==false)。
这样翻页后我再第一页的排序到了第二页就失效了。

解决办法:AspNetPager有一个UrlPaging属性,用来指定是否使用url传递分页信息的方式来分页。
选择false,则用post替代get来隐式传递页码。这样,url就不会有变化,ViewState仍然存在,翻页后也有了回传(IsPostBack==true)。因此第一页的排序到了第二页也就仍然有效了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值