分页展现

在展现列表时通常会用到分页  分页可以去引用ajax的封装包进行分页显示 也可以自己写一个分页

以下就是自己编写的分页

现在需要展现的框架内设置一个ID  再加上格式  再加上分页控件

 
class="row" id="imglist">
<%--分页控件--%>
class="row">
class="col-md-12 text-right">

 

先引用一个正则   搜索需要取得值

//获取Url参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null)
        return unescape(r[2]);
    return null;
}

 然后在开始写js

在开始编写后台代码  后台代码在ashx里边编写

/// 
        /// 前台分页查询产品列表
        /// 
        /// 
        public void GetQueryList(HttpContext context)
        {
            //声明一个动态类   初始化一个新的动态类方法
            dynamic OnjJson = new ExpandoObject();
            //取值  当前第几页
            int page = Convert.ToInt32(context.Request["page"]);
            //取值 每页几条数据
            int count = Convert.ToInt32(context.Request["count"]);
            //取值 当前的类型
            string Type =context.Request["Type"];
            //最小条数
            int offset = (page - 1) * count;
            //声明一个新的BLL方法
            Maticsoft.BLL.T_Products productsBll = new Maticsoft.BLL.T_Products();
            //总条数从0开始
            int total = 0;
            //返回数据的行数内容
            OnjJson.rows = productsBll.GetQueryList(count, offset, Type, out total);
            //返回数据的总条数
            OnjJson.total = total;
            context.Response.Write(JsonConvert.SerializeObject(OnjJson));
            context.Response.End();
        }

调用BLL方法

/// 
        /// 前台分页查询产品数据
        /// 
        /// 条数
        /// 最小条数
        /// 产品的类型
        /// 返回总条数 out返回(给后台一张纸(纸默认是空白的且不可以向后台传) 后台要把纸回给前台。纸上可以输出值)
        /// 
        public DataTable GetQueryList(int limit, int offset, string Type, out int total)

        {
            return dal.GetQueryList(limit, offset, Type, out total);
        }

 

通过BLL调用dal方法  并使用SQL语句查询并返回查询到的数值

/// 
        /// 前台分页查询产品数据
        /// 
        /// 条数
        /// 最小条数
        /// 产品的类型
        /// 返回总条数
        /// 
        public DataTable GetQueryList(int limit, int offset, string Type, out int total)
        {
            //判断前台传过来的Type是否为空   如果为空则查询全部信息  如果有Type 则查询Type的信息
            if(Type=="")
            {
                //使用sql语句分页查询数据
                string sql = "select top (@limit) * from (select row_number() over(order by FId desc) as rownumber,* from T_Products ) temp_row where rownumber>@offset ";
                //计算数据总条数
                string totalsql = "select COUNT(1) from T_Products ";
                total = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.connStr, totalsql));
                //使用键值对 对sql语句里的占位建进行替换
                SqlParameter[] para = new SqlParameter[]
                {
                new SqlParameter("@limit",SqlDbType.Int),
                new SqlParameter("@offset",SqlDbType.Int),
                
                };
                para[0].Value = limit;
                para[1].Value = offset;
                //返回一个Table
                return SqlHelper.ExecuteDataTable(SqlHelper.connStr, sql, para);

            }
            else
            {
                //有类型 就使用以下方法查询数据

                //使用sql语句分页查询数据
                string sql = "select top (@limit) * from (select row_number() over(order by FId desc) as rownumber,* from T_Products where Ftype=@Ftype) temp_row where rownumber>@offset ";

                //计算数据总条数
                string totalsql = "select COUNT(1) from T_Products where Ftype=@Ftype";
                total = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.connStr, totalsql, new SqlParameter[] {
            new SqlParameter("@Ftype",Type)
            }));
                //使用键值对 对sql语句里的占位建进行替换
                SqlParameter[] para = new SqlParameter[]
                {
                new SqlParameter("@limit",SqlDbType.Int),
                new SqlParameter("@offset",SqlDbType.Int),
                new SqlParameter("@Ftype",Type)
                };
                para[0].Value = limit;
                para[1].Value = offset;
                para[2].Value = Type;
                //返回一个Table
                return SqlHelper.ExecuteDataTable(SqlHelper.connStr, sql, para);

            }

        }

最后将返回值填写到imgHtml = imgHtml + ’  ‘ 就可以了

 

你可能感兴趣的:(分页展现)