C#分页(关于优惠券)(无存储过程)

//api

public pageModel Get(int pageSize = 3, int currentPage = 1, string yhfs = "", string hxzt = "", string mc = "")

{

//修正传入的页数<1的情况
if(currentPage < 1)
{
currentPage = 1;
}
//查询出所有列表
var list = dal.Show();

if (!string.IsNullOrEmpty(yhfs)) //如果传入的优惠方式不为空,则将列表中对优惠方式进行过滤
{
list = list.Where(s => s.yhfs == yhfs).ToList();
}
if (!string.IsNullOrEmpty(hxzt)) //过滤核销状态
{
list = list.Where(s => s.hxzt == hxzt).ToList();
}
if (!string.IsNullOrEmpty(mc)) //过滤优惠券名称(模糊查询)
{
list = list.Where(s => s.mc.Contains(mc)).ToList();
}
var count = list.Count(); //查询出总记录数

//查询出总页数
int page;
if(count % pageSize == 0)
{
page = count / pageSize;
}
else
{
page = count / pageSize + 1;
}
//纠正当前页 > 总页数的情况
if(currentPage > page)
{
currentPage = page;
}
//使用linq分页查询列表
list = list.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();

var m = new pageModel();
m.list = list; //列表就是分页查询出的列表
m.totalCount = count;
m.totalPage = page;
m.currentPage = currentPage;
return m;
}

 

//mvc

<table class="table">
<tr>
<td>总共<span id="totalCount"></span>条记录</td>
<td>第<span id="currentPage"></span>页</td>
<td>共<span id="totalPage"></span>页</td>
<td><a href="javascript:;" onclick="show(1)">首页</a></td>
<td><a href="javascript:;" onclick="show(currentPage-1)">上一页</a></td>
<td><a href="javascript:;" onclick="show(currentPage+1)">下一页</a></td>
<td><a href="javascript:;" onclick="show(totalPage)">尾页</a></td>
</tr>
</table>

@section scripts{
<script>
var currentPage = 1;
var totalPage = 1;

$(function () {
show(1);
});

function show(page) {
var obj = {};
obj.pageSize = 3;
obj.currentPage = page;
obj.yhfs = $("input[name='yhfs']:checked").val();
obj.hxzt = $("input[name='hxzt']:checked").val();
obj.mc = $("#mc").val();

$.ajax({
url: "http://localhost:51807/api/shopping",
type: "get",
data: obj,
success: function (data) {
$("#totalCount").html(data.totalCount);
$("#totalPage").html(data.totalPage);
$("#currentPage").html(data.currentPage);
currentPage = data.currentPage;
totalPage = data.totalPage;

$("#tb").empty();
$(data.list).each(function () {
var line = "<tr><td>" + this.Name + "</td>";
line += "<td>" + this.hxzt + "</td></tr>";
$("#tb").append(line);
});
}
});
}
</script>
}

posted @ 2020-06-09 15:15  De南北  阅读(69)  评论(0)    收藏  举报