• 程序人生系列之新闻发布系统 我的分页经验


    我的转正任务给部长看了之后,要求做一下真正的分页,而不是用 GridView 自带的分页功能,的确,我也觉得那个不好,那么就做吧,做了就可以转正了,哈哈哈!

    ---分页----

    步骤一:存储过程 create PROCEDURE [dbo].[news_selectByIndex]

    @startIndex int ,

    @endIndex int

    AS

    BEGIN

         with temptbl as (

             SELECT ROW_NUMBER() OVER (ORDER BY id )AS Row,* from news 

         )

         SELECT * FROM temptbl where Row between @startIndex and @endIndex

    END 

    步骤二:在SQLHelper中添加相应的方法           

    public SqlDataReader ExecuteNewsReader(CommandType cmdType, params SqlParameter[] cmdParms)

             {

                 try

                 {

                     conn = GetConn();

                     string cmdText = "news_selectByIndex";

                     cmd = new SqlCommand(cmdText,conn);

                     cmd.CommandType = cmdType;

                     cmd.Parameters.AddRange(cmdParms);

                     SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

                     cmd.Parameters.Clear();

                     return rdr;

                 }

                 catch

                 {

                     conn.Close();

                     throw;

                 }

             }  

    步骤三:在页面中添加 ASPNETPager 控件  

    页首添加 

    <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 

    <webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator" CurrentPageButt runat="server" AlwaysShow="True" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PageSize="8" PrevPageText="上一页" ShowCustomInfoSection="Left" ShowInputBox="Never"  CustomInfoTextAlign="Left" LayoutType="Table" >

    </webdiyer:AspNetPager>

    步骤四:为 ASPNETPager 控件添加 CSS 属性

    .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;

         min- 10px;

         _ 10px;

         margin-right: 5px;

         text-align: center;

         white-space: nowrap;

         font-size: 12px;

         font-family: Arial,SimSun;

         padding: 0 3px;

    }

    步骤五:编写页面后台代码 

      public void BindData()

        {

            //绑定语句

             repNews.DataSource = new SQLHelper().ExecuteNewsReader(CommandType.StoredProcedure,

                 new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),

                 new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));

             repNews.DataBind();

            this.AspNetPager1.CustomInfoHTML = string.Format("当前第{0}/{1}页 共{2}条记录 每页{3}条", new object[] { this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageCount, this.AspNetPager1.RecordCount, this.AspNetPager1.PageSize });

        }

         protected void AspNetPager1_PageChanged(object src, EventArgs e)

         {

             BindData();

         }

    然后修改后台代码的各个地方,需要使用 BindDate() 的时候都改过来,例如 Page_Load() 还有删除了新闻分类后等等

  • 相关阅读:
    在python3中如何加载静态文件详版步骤
    django 过滤器总结
    通过虚拟环境创建并开始一个django
    关于django中模板的理解
    python 初学 正则表达式入门
    python 初学 错误类型以及编码规范
    获取地址的经纬度,根据经纬度反查地址
    mybatisz中一个可以替代between..and 的技巧
    linux指令和文件系统
    auto.js入门笔记
  • 原文地址:https://www.cnblogs.com/yinger/p/2084860.html
Copyright © 2020-2023  润新知