JS和boostrap在MVC下实现分页
最近一直在忙着做项目,终于有时间把这段实现的新东西写一下了,第一次把JavaScript的东西用到事件当中,也是第一次用BootStrap来设计页面,当这两个要一起用时,还真是有点难度,不过总算弄好了。
例如在任何网站都有一个搜索框,我们查询之后就转换到下一个页面。然后再查询页面进行查询,我们在查询的时候需要一次只是显示20条内容,如果想要看更多的内容就点击下一页,就好像我们的百度一样,而我是先查询,点击下一页的时候我就把当前的内容清楚,然后附加下一页的内容。具体JS代码如下。
//具体分页方法 function createPage(pageSize, buttons, total) { $(".pagination").jBootstrapPage({ pageSize: pageSize, total: total, data: { "PageIndex": (pageIndex + 1) }, maxPageButton: buttons, onPageClicked: function (obj, pageIndex) { ////打击新的页面的时候删除原来画的表格 delTab(); //将页面值传给Controller中的<span style="font-family: Arial, Helvetica, sans-serif;">BiologyCategoryView</span><span style="font-family: Arial, Helvetica, sans-serif;">方法中</span> $.ajax({ type: "POST", url: "/OpenClass/BiologyCategoryView", data: { "pageIndex": (pageIndex + 1), "pageSize": (pageSize) }, success: function (data) { $("#content").append(data); } }); } }); } //模糊查询方法,单击按钮是进行视频信息查询的方法。 function search() { var searchContent = $("#VideoinfoContext").val(); window.location = "/PageHome/SearchView?searchContent=" + searchContent; } ////打击新的页面的时候删除原来画的表格 function delTab() { var oTab = document.getElementById("content"); while (oTab.hasChildNodes()) { oTab.removeChild(oTab.firstChild); } }删除原来的表格的时候我会给他事先定义一个节点,例如<div id="content"> </div>,这样我就可以判断我删除的是该节点下的信息。
然后再视图(views)中代码如下
<div class="container" style="margin-top: 20px;"> <!--该节点下添加查询到的表格。--> <div id="content"> </div> </div> <!--添加分页--> <div style="padding-left: 100px;"> <p id="pageIndex" style="font-size: 20px; font-weight: bold; color: blue; margin-left: 150px;"></p> <ul class="pagination"></ul> </div>
因为再我是做的视频网站,然后就把查询到的图片的路径放在<img>控件中,当然我这里是再Control中拼接的表格,代码如下:
#region 根据标签获得公开课的信息 BiologyCategoryView() +孟海滨 2015年01月28日 17:33:03 /// <summary> /// 根据标签获得某个公开课的信息 /// </summary> /// <returns></returns> public string BiologyCategoryView() { int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]); int pageIndex = Request["PageIndex"] == null ? 1 : int.Parse(Request.Form["pageIndex"]); //根据工厂生成一个借口 IVideoSortService videoSortService = ServiceFactory.GetVideoSortService(); List<VideoInfo> videoList = new List<VideoInfo>(); videoList = videoSortService.GetSomeVideoInfo("生物", pageSize, pageIndex); ///调用服务端的信息,查询生物课程的视频,显示20条 int tbCol = 0; string strControl = null; <span style="white-space:pre"> //定义一个字符串,用来保存拼接的表格</span> strControl += "<table class='table-responsive' id='table' border='0' align='center' cellpadding='0' cellspacing='0'>"; strControl += "<tr>"; for (int i = 0; i < videoList.Count; i++) { //将查询的细心动态的添加到表格中,包括视频名称,视频的介绍,播放按钮 strControl += "<td width='285px' align='center'> <div href='#' class='thumbnail'><img src='../../images/10.jpg' />" + videoList[i].VideoName + "</div> <div class='caption'><p>" + videoList[i].VideoIntrduce + "</p><p><a href='#' class='btn btn-primary' role='button'>播放</a> </p></div></td>"; tbCol++; if (tbCol % 5 == 0) { strControl += "</tr>"; strControl += "<tr>"; } } strControl += "</tr>"; strControl += "</table>"; //ViewData["biologyVideo"] = strControl; return strControl; //返回生成的表格 //return PartialView(); } #endregion
这样一个分页的功能,加上动态拼接表格的方法就这么完成了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。