• AspNetPager和Linq to sql 的完美结合


         因为做一个大型的网站(www.usbbuilding.com),要用到翻页程序,以前都是自己用Linq to sql的Skip()和Take()方法来做。

         但是今天这个很多More的页面,所以就想用一个能重复调用的方法,解决自己那个翻页功能,自己花了一个上午,写了一个Linq to sql 的方法,但感觉不好,就相当了用Aspnetpage来做。

          代码如下:

            protected void Page_Load(object sender, EventArgs e) {           
                if (!IsPostBack)
                {   
                    BingdingD_Newsread();   //绑定表的方法;
                }
             }

           

            private void BingdingD_Newsread()
             {
                D_NewsreadModelDataContext Dns = new D_NewsreadModelDataContext();  // Linq to sql 类形成的model;
                var News = from nm in Dns.D_Newsread where nm.Droped ==false  select nm;
                      News = News.OrderByDescending(T=>T.CreateTime);
                PagedDataSource pds = new PagedDataSource();
                pds.DataSource = News.ToList();  //这里好像一定要Tolist();不然会有点错误;
                pds.AllowPaging = true;

                AspNetPager1.RecordCount = News.Count(); //记录总数;
                pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
                pds.PageSize = AspNetPager1.PageSize;
                Repeater1.DataSource =pds;
                Repeater1.DataBind();   
             }

            protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
             {   //当页面页数改变时,执行这个方法;
                AspNetPager1.CurrentPageIndex = e.NewPageIndex; 
                BingdingD_Newsread(); 
             }

    aspx 页面上的代码:

          <!--翻页程序-->       
             <webdiyer:AspNetPager ID="AspNetPager1"  runat="server"  PageSize="4"  FirstPageText="首页"  LastPageText="末页" NextPageText="下一页" PrevPageText="上一页" AlwaysShow="true"  onpagechanging="AspNetPager1_PageChanging" CssClass="paginator"   CurrentPageButtonClass="cpb">
             </webdiyer:AspNetPager>
              <!--翻页程序-->

    同时附上漂亮的CSS样式:    

    /*拍拍网风格*/
    .paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0px; margin: 0px;}
    .paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
    .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
    .paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
    .paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}

    /*淘宝风格*/
    /* .paginator { font: 12px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
    .paginator a {border:solid 1px #ccc;color:#0063dc;cursor:pointer;text-decoration:none;}
    .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
    .paginator .cpb {border:1px solid #F50;font-weight:700;color:#F50;background-color:#ffeee5;}
    .paginator a:hover {border:solid 1px #F50;color:#f60;text-decoration:none;}
    .paginator a,.paginator a:visited,.paginator .cpb,.paginator a:hover 
    {float:left;height:16px;line-height:16px; 10px;margin-right:5px;text-align:center; min-10px;
     white-space:nowrap;font-size:12px;font-family:Arial,SimSun;padding:0 3px;}
    */

  • 相关阅读:
    phpstrom中Terminal窗口打开
    window安装reidis完成之后,想要把数据存入redis,必须开扩展,不然报错,redis windows phpstudy 安装扩展
    Windows 安装 Anaconda3+PyCharm
    表单序列化+ajax跨域提交
    微信小程序无法获取到unionId(专业踩坑20年)
    支付宝的同步和异步的区别
    layui多图上传
    多图上传控制器及模型代码(2)thinkphp5+layui实现多图上传保存到数据库,可以实现图片自由排序,自由删除。
    【JZOJ4816】【NOIP2016提高A组五校联考4】label
    【JZOJ4815】【NOIP2016提高A组五校联考4】ksum
  • 原文地址:https://www.cnblogs.com/liuming8208/p/1894580.html
Copyright © 2020-2023  润新知