分页

js: //分页
            $(document).on("click", '#page a', function () {
                if ($(this).attr('disabled'))
                    return;
                switch ($(this).attr('id')) {
                    case 'prevpage':
                        pageIdx--;
                        break;
                    case 'nextpage':
                        pageIdx++;
                        break;
                }
                load(pageIdx, 1);
            });

C#:

#region 房仓客房订单列表        
        private DatabaseHelper helper = DatabaseHelper.GetHelper(GlobalVariables.Order2DBConnReadonly);
        /// <summary>
        /// 房仓客房订单列表
        /// </summary>
        /// <param name="paystatus"></param>
        /// <param name="payway"></param>
        /// <param name="page">页码</param>
        /// <param name="statustype"></param>
        /// <param name="startTime">搜索开始时间</param>
        /// <param name="endTime">搜索结束时间</param>
        /// <param name="status">订单状态</param>
        /// <param name="isRefundStatus"></param>
        /// <returns></returns>
        [OutputCache(Duration = 60 * 10)]        
        public ActionResult List(int? paystatus, int? payway, int page = 0, int statustype = 1, DateTime? startTime = null, DateTime? endTime = null, string status = "|-15| -10|-6|-5|-1|1|5|10|15|20|25|", int isRefundStatus = 0)
        {
            StringBuilder condition = new StringBuilder();
            int[] ostatus = (status ?? string.Empty).Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.ToInt()).ToArray();
            if (string.IsNullOrEmpty(status))
            {
                condition.Append("  OStatus <= 25");
            }
            else
            {
                condition.Append("  OStatus IN(").Append(String.Join(",", status.Split('|').Select(x => x.ToInt()))).Append(")");
            }
            StringBuilder condition2 = new StringBuilder();
            if (startTime != null && endTime!=null)
            {
                condition2.Append("AND  o.ODateTime>=@startTime and o.ODateTime<=@endTime");
            }
            else if (startTime != null && endTime == null)
            {
                condition2.Append("AND  o.ODateTime>=@startTime");
            }
            else if (startTime == null && endTime != null)
            {
                condition2.Append("AND  o.ODateTime<=@endTime");
            }
            else
            {
                condition2.Append("AND  o.ODateTime>='1978-01-01' and o.ODateTime<='9999-01-01'");
            }

            string sql = @"select *
                            FROM
                                Order2.dbo.FangCangOrderRef(nolock) as f JOIN Order2.dbo.OrderInfo(nolock) as o
                                on f.OID=o.OID
                            where {0} {1}";
            sql = string.Format(sql, condition.ToString(), condition2.ToString());
            ParameterCollection p = helper.CreateParamterCollection();
            p.Append("status", status);
            p.Append("startTime", startTime);
            p.Append("endTime", endTime);
            DataSet ds = helper.ExecuteDataSet(sql, p);
            DataTable dt = ds.Tables[0];
            List<string[]> list = new List<string[]>();
            foreach (DataRow r in dt.Rows)
            {
                int colCount = r.ItemArray.Count();
                string[] items = new string[colCount];
                for (int i = 0; i < colCount; i++)
                {
                    items[i] = Convert.ToString(r.ItemArray[i]);
                }
                list.Add(items);
            }
            int total = list.Count();
            ViewBag.intTotal = total;

            StringBuilder condition1 = new StringBuilder();
            if (string.IsNullOrEmpty(status))
            {
                condition1.Append(" OStatus <= 25");
            }
            else
            {
                condition1.Append(" OStatus IN(").Append(String.Join(",", status.Split('|').Select(x => x.ToInt()))).Append(")");
            }
            StringBuilder condition3 = new StringBuilder();
            if (startTime != null && endTime != null)
            {
                condition3.Append("AND  o.ODateTime>=@startTime and o.ODateTime<=@endTime");
            }
            else if (startTime != null && endTime == null)
            {
                condition3.Append("AND  o.ODateTime>=@startTime");
            }
            else if (startTime == null && endTime != null)
            {
                condition3.Append("AND  o.ODateTime<=@endTime");
            }
            else
            {
                condition3.Append("AND  o.ODateTime>='1978-01-01' and o.ODateTime<='9999-01-01'");
            }
            string sql1 = @" select * from (
                        select
                        o.OID,
                        o.CID,
                        o.CGuid,
                        o.CLevelID,
                        o.HID,
                        o.HGuid,
                        o.OContact,
                        o.OTel,
                        o.OEmail,
                        o.ONeedConfirm,
                        o.OType,
                        o.PaymentType,
                        o.OStatus,
                        o.OPayAmount,
                        o.OAmount,
                        o.OOriAmount,
                        o.ETA,
                        o.ETD,
                        o.ODateTime,
                        o.OExpireTime,
                        o.ORefundStatus,
                        o.ORefundAmount,
                        o.ORefundAmount2,
                        o.ORefundAmount3,
                        o.IsRefund,
                        o.PId,
                        o.PNum,
                        o.FormHid,
                        o.FormType,
                        o.PName,
                        o.OPayStatus,
                        ROW_NUMBER() OVER ( ORDER BY o.OID asc )  rownumber
                    FROM
                        Order2.dbo.FangCangOrderRef(nolock) as f JOIN Order2.dbo.OrderInfo(nolock) as o
                        on f.OID=o.OID
                        where {0} {1} ) AS list  where  rownumber between @page*10+1 and @page*10+10";
            sql1 = string.Format(sql1, condition1.ToString(), condition3.ToString());           
            ParameterCollection p1 = helper.CreateParamterCollection();
            p1.Append("startTime", startTime);
            p1.Append("endTime", endTime);
            p1.Append("status", status);
            p1.Append("page", page);
            DataSet ds1 = helper.ExecuteDataSet(sql1, p1);
            var result = new List<WareHouseInfoModel>();
            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
            {
                result.Add(new WareHouseInfoModel
                {
                    OID = Convert.ToInt64(ds1.Tables[0].Rows[i]["OID"]),
                    CID = Convert.ToInt32(ds1.Tables[0].Rows[i]["CID"]),
                    CGuid = ds1.Tables[0].Rows[i]["CGuid"].ToString(),
                    CLevelID = Convert.ToInt32(ds1.Tables[0].Rows[i]["CLevelID"]),
                    HID = Convert.ToInt32(ds1.Tables[0].Rows[i]["HID"]),
                    HGuid = ds1.Tables[0].Rows[i]["HGuid"].ToString(),
                    OContact = ds1.Tables[0].Rows[i]["OContact"].ToString(),
                    OTel = ds1.Tables[0].Rows[i]["OTel"].ToString(),
                    OEmail = ds1.Tables[0].Rows[i]["OEmail"].ToString(),
                    ONeedConfirm = Convert.ToInt32(ds1.Tables[0].Rows[i]["ONeedConfirm"]),
                    OType = Convert.ToInt32(ds1.Tables[0].Rows[i]["OType"]),
                    PaymentType = Convert.ToInt32(ds1.Tables[0].Rows[i]["PaymentType"]),
                    OStatus = Convert.ToInt32(ds1.Tables[0].Rows[i]["OStatus"]),
                    OStatusStr=GetOStatus(Convert.ToInt32(ds1.Tables[0].Rows[i]["OStatus"]).ToString()),
                    OPayAmount = Convert.ToInt32(ds1.Tables[0].Rows[i]["OPayAmount"]),
                    OAmount = Convert.ToInt32(ds1.Tables[0].Rows[i]["OAmount"]),
                    OOriAmount = Convert.ToInt32(ds1.Tables[0].Rows[i]["OOriAmount"]),
                    ETA = Convert.ToDateTime(ds1.Tables[0].Rows[i]["ETA"]),
                    ETD = Convert.ToDateTime(ds1.Tables[0].Rows[i]["ETD"]),
                    ODateTime = Convert.ToDateTime(ds1.Tables[0].Rows[i]["ODateTime"]),
                    OExpireTime = Convert.ToDateTime(ds1.Tables[0].Rows[i]["OExpireTime"]),
                    ORefundStatus = Convert.ToInt32(ds1.Tables[0].Rows[i]["ORefundStatus"]),
                    ORefundAmount = (decimal)ds1.Tables[0].Rows[i]["ORefundAmount"],
                    ORefundAmount2 = (decimal)ds1.Tables[0].Rows[i]["ORefundAmount2"],
                    ORefundAmount3 = (decimal)ds1.Tables[0].Rows[i]["ORefundAmount3"],
                    IsRefund = Convert.ToInt32(ds1.Tables[0].Rows[i]["IsRefund"]),
                    PId = Convert.ToInt64(ds1.Tables[0].Rows[i]["PId"]),
                    PNum = Convert.ToInt32(ds1.Tables[0].Rows[i]["PNum"]),
                    FormHid = Convert.ToInt32(ds1.Tables[0].Rows[i]["FormHid"]),
                    FormType = Convert.ToInt32(ds1.Tables[0].Rows[i]["FormType"]),
                    PName = ds1.Tables[0].Rows[i]["PName"].ToString(),
                    OPayStatus = Convert.ToInt32(ds1.Tables[0].Rows[i]["OPayStatus"]),
                    ORefundStatusStr = GetORefundStatus(ds1.Tables[0].Rows[i]["ORefundStatus"].ToString()),
                });
            }
            int[] hids = result.Select(x => x.HID).Distinct().ToArray();
            if (hids.Length == 0)
            {
                return View(new List<WareHouseInfoModel> { });
            }
            var hotellist = new HotelInfoRepository().GetList(x => (object)x.Hid == hids);
            ViewBag.page = page;
            ViewBag.hotelinfo = hotellist;
            ViewBag.totelpage = Math.Ceiling(Convert.ToDecimal(total / 10));
            return View(result);
        }

        private string GetORefundStatus(string orefundstatus)
        {
            switch (orefundstatus)
            {
                case "-1":
                    return "审核不通过";
                case "1":
                    return "退款待审核";
                case "5":
                    return "审核通过";
                case "10":
                    return "已退款";
                case "15":
                    return "已处理,但不退";
                default:
                    return "";
            }
        }
        //订单状态(-15系统拦截 -10系统取消 -6酒店取消-5客户取消-1删除1新单5未确认10已确认15未入住(用餐) 20入住(用餐) 25完成)
        private string GetOStatus(string ostatus)
        {
            switch (ostatus)
            {
                case "-15":
                    return "系统拦截";
                case "-10":
                    return "系统取消";
                case "-6":
                    return "酒店取消";
                case "-5":
                    return "客户取消";
                case "-1":
                    return "客户取消";
                case "1":
                    return "新订单";
                case "5":
                    return "未确认";
                case "10":
                    return "已确认";
                case "15":
                    return "未入住(用餐)";
                case "20":
                    return "入住(用餐)";
                case "25":
                    return "完成";                
                default:
                    return "";
            }
        }
        //1未支付5已支付10支付失败
        private string GetOPayStatus(string opaystatus)
        {
            switch (opaystatus)
            {
                case "1":
                    return "未支付";
                case "5":
                    return "已支付";
                case "10":
                    return "支付失败";                
                default:
                    return "";
            }
        }
        #endregion

原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5179012.html