• ASP.NET的分页方法(二)


    第二讲主要使用到了常用的分页控件aspnetpager,这里对他就行一个简单的应用,具体大家可以到杨涛的博客上去寻找相关的DLL,

    首先要先引用AspNetPager.dll,然后把这个DLL同时添加入工具箱

    接下来前台依然使用repeater控件进行绑定,写法如下:

    <form id="form1" runat="server">
            <div>
                <ul style="list-style: none">
                    <asp:Repeater ID="Repeater1" runat="server">
                        <ItemTemplate>
                            <li><%#Eval("Title") %></li>
                        </ItemTemplate>
                    </asp:Repeater>
                </ul>
            </div>
            <webdiyer:AspNetPager ID="AspNetPager1"  CssClass="paginator" runat="server" OnPageChanged="AspNetPager1_PageChanged">
            </webdiyer:AspNetPager>
        </form>

    好看的样式网上也有三种左右(我目前所找到的),其中一种如下:

    <style type="text/css">
            /*拍拍网风格*/
            .paginator {
                font: 11px Arial, Helvetica, sans-serif;
                padding: 10px 20px 10px 0;
                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;
                }
        </style>

    后台的写法 如下,使用的是dataset绑定的数据源,但是似乎没有让引用AspNetPager空间,也没法直接Using AspNetPager这样引用,不过也是画蛇添足啦,没什么大影响。

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace WebApplication1
    {
        public partial class WebForm3 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if(!IsPostBack)
                {
                    GetDate();
                }
            }
    
            string ConStr = ConfigurationManager.ConnectionStrings["Connection"].ToString();
    
            public void GetDate()
            {
                //查出所有数据
                string GetDateSql = "SELECT * FROM [Info]";
                //计算一共有多少条数据,这个有待于接下来计算总页数
                string GetCountDataSql = "SELECT COUNT(*) FROM [Info]";
    
                using (SqlConnection conn = new SqlConnection(ConStr))
                {
                    conn.Open();
                    DataSet dt = new DataSet();
                    SqlDataAdapter sdt = new SqlDataAdapter(GetDateSql, conn);
                    //AspNetPager1.PageSize,一页显示多少数据,AspNetPager1.CurrentPageIndex:获取或设置当前显示页的索引。
                    //这一条语句对于dataset是一定要按照这个格式写的,具体的原理我也有点模糊,希望明白的朋友给出一些指点。
                    sdt.Fill(dt, (AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1)), AspNetPager1.PageSize,"MYTABLE");
                    this.Repeater1.DataSource = dt;
                    this.Repeater1.DataBind();
    
                    SqlCommand comm = new SqlCommand(GetCountDataSql, conn);
                    //AspNetPager1.RecordCount:获取或设置需要分页的所有记录的总数。
                    string GetCountData = comm.ExecuteScalar().ToString();
                    this.AspNetPager1.RecordCount =Convert.ToInt32(GetCountData);
                }
            }
    
            protected void AspNetPager1_PageChanged(object sender, EventArgs e)
            {
                GetDate();
            }
        }
    }
  • 相关阅读:
    oracle正装表达式匹配中文
    oracle利用循环批量检索对应的数据
    oracle不完全恢复
    informatica简易教程
    oracle创建用户的小问题
    宿主机sqlplus连接虚拟机oracle
    ETL采集原表语句生成
    Mac版 MicrosoftOffice2015 办公软件 破解教程
    BetterZip,支持rar等多种压缩解压方式(Xcode自身不能解压rar)
    Xcode --自动注释插件VVDocumenter-Xcode(配置须知)
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4021656.html
Copyright © 2020-2023  润新知