<tr>
<td>
<input type="button" value="|<" onclick="first()" />
<input type="button" value="<<" onclick="prev()" />
<input type="text" value="1" id="PageIndex" />
<input type="button" value=">>" onclick="next()" />
<input type="button" value=">|" onclick="last()" />
</td>
</tr>
這是手寫分頁前臺代碼
點擊空間之后獲取onclick事件,調用ajax請求后臺
$(function () { GetData(); }) var MaxPagerCount = 1; function GetData() { var pageIndex = $("#PageIndex").val(); $.ajax({ url: '/Default1/Show', type: 'get', data: { pageindex: pageIndex}, dataType: 'json', success: function (data) { $("#aaa").empty(); MaxPagerCount = data.PageCount; $(data).each(function () { $("#aaa").append("<tr><td>" + this.ID + "</td><td>" + this.Name + "</td></tr>"); }) } }) }
頁面首次加載,請求后臺查詢數據庫,返回查詢到的數據進行綁定
public ActionResult Index() { return View(); } int PageCount = 0; [HttpGet] public List<dsdf> Show(int pageindex=1) { string str = "select * from Address"; DataTable dt = DBHelper.GetTable(str); List<Stu> s =JsonConvert.DeserializeObject<List<Stu>>(JsonConvert.SerializeObject(dt)); var linq = (from a in s select a).Skip((pageindex - 1) * 5).Take(5); if (linq.Count() % 5 == 0) { PageCount = linq.Count() / 5; } else { PageCount = linq.Count() / 5+1; } dsdf df = new dsdf(); df.PageCount = PageCount; return JsonConvert.DeserializeObject<List<dsdf>>(JsonConvert.SerializeObject(linq)); }
首次加載后臺代碼
把查詢到的數據用Linq語句進行分頁
Skip是跳過多少條,Take是從你跳過的位置開始取多少條數據
function first() { $("#PageIndex").val(1); GetData(); } function last() { $("#PageIndex").val(MaxPagerCount); GetData(); } function prev() { var pageindex = $("#PageIndex").val() - 1; if (pageindex < 1) pageindex = 1; $("#PageIndex").val(pageindex); GetData(); } function next() { var pageindex = parseInt($("#PageIndex").val()) + 1; if (pageindex > MaxPagerCount) pageindex = MaxPagerCount; $("#PageIndex").val(pageindex); GetData(); }
根據你前臺獲取的點擊事件對你定義的變量進行加減,確認你要到達哪一頁
浙公網安備 33010602011771號