AspNetPager控件的分页与排序

本文介绍了如何使用AspNetPager控件实现分页和排序功能。在分页过程中,通过调整方法解决了点击下一页导致页面全刷新的问题,采用Ajax局部刷新实现流畅体验。在排序方面,强调了排序条件需在DAL层处理而非前端 Dataview,详细步骤包括在GridView绑定列中设置SortExpression,以及在Sorting事件中处理排序逻辑,通过ViewState传递排序条件。
摘要由CSDN通过智能技术生成

终于把AspNetPager控件的分页和排序都整出来了。

 

分页:按照它的步骤做,改一下具体的方法即可。

 

遇到难题:点击下一页,总是重新加载页面,这一点很烦人。

 

解决办法:换成Ajax的局部刷新就好用了。

 

具体看项目中的代码

 

排序:这个费了不少了劲

 

关键是要把排序条件传到DAL中去,而不是在前台中用Dataview中排序。

 

细节:

    <asp:BoundField DataField="I_TranState" HeaderText="状态" Sortexpression_r_r="I_TranState">
                                <HeaderStyle CssClass="bt1" />
                                 <ItemStyle Wrap="False" />
                            </asp:BoundField>

1.先是在GridView中的绑定列中设置条件:Sortexpression_r_r="I_TranState"

 

2.在GridView中的Sorting事件中写代码:

 

    protected void Repeater_NEWS_Sorting(object sender, GridViewSortEventArgs e)
    {
        ViewState["orderName"] = e.Sortexpression_r_r;
        if (GridViewSortDirection == SortDirection.Ascending)                      //设置排序方向
        {
            GridViewSortDirection = SortDirection.Descending;
            ViewState["orderId"] = " DESC";

        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
            ViewState["orderId"] = " ASC";
        }
        gridviewdatabind(ViewState["orderName"].ToString(), ViewState["orderId"].ToString());
    }

为ViewState设置条件,以便于传递到后台。

if和else的意思是:刚开始是:Asc,点击一次排序条件变为Desc,再点一次变回来。

<script type="text/javascript" id="wumiiRelatedItems"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值