Api 存储过程分页 +导出+linq 分页

 //分页
        [Route("api/pager")]
        [HttpGet]
        public IHttpActionResult Pager(int PageSize, int PageIndex)
        {
            IDbConnection db = AbsContention.SqlGet();
            var param = new DynamicParameters();
            param.Add("@TabeName", "LogType");
            param.Add("@FileName", "*");
            param.Add("@Orderby", "ID");
            param.Add("@where", "");
            param.Add("@PageSize", PageSize);
            param.Add("@PageIndex", PageIndex);
            int total = 0;
            param.Add("@TableCount", 0, DbType.Int32, ParameterDirection.Output);
            //  db.Query<List<StudentModels>>("Proc_Pager",)
            var res2 = db.Query<LogModel>("FenYe", param, null, true, null, CommandType.StoredProcedure).ToList();//res2.Count = 80
            total = param.Get<int>("@TableCount");  //Execute count = 80
            return Ok(new { data = res2, total = total });
        }

   //导出
        [Route("api/Daochu")]
        [HttpGet]
        public void DaoChu()
        {
            List<RedPacketModel> reds =bll.Show();
            string json = Newtonsoft.Json.JsonConvert.SerializeObject(reds);
            DataTable tb = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(json);
            ExcelHelper.ExportByWeb(tb,"导出文件","123.xls");
        }

  //linq分页
        /// <param name="pageNumber">分页的页数</param>
        /// <param name="pageSize">每页显示数量</param>
      
        [Route("api/showGet")]
        [HttpGet]
        public IHttpActionResult Get(int PageSize = 1, int PageIndex = 5)
        {
            List<RedPacketModel> list = bll.Query();
            var p = from s in list select s;
            return Ok(new { total = list.Count, list = list.Skip((PageIndex - 1) * PageSize).Take(PageSize) });
        }
posted @ 2020-07-07 10:28  我们好像在那见过  阅读(130)  评论(0编辑  收藏  举报