温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MVC分页让你更爽

发布时间:2020-08-28 06:59:19 阅读:694 作者:杜碧君 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

创建Controller控件器与强类型视图呢,还有Models里面的对象实体,相信你们看了我之前发的就能创建好了,在这里呢就不创建了哈亲

MVC分页让你更爽

在用户控件器里面写代码了

下面这个分页的方法

/// <summary>        /// 用户信息分页        /// </summary>        /// <returns></returns>        public ActionResult UserDataPage()        {            EFFristModelEntities ef = new EFFristModelEntities();            int pageIndex = 1;//记录页的条数            int pageSize = 3;//每页显示的条数            int.TryParse(Request.QueryString["pageIndex"],out pageIndex);//强转一下这个记录页的条数            int pageIndexCount =Convert.ToInt32(ef.UserInfo.Count());//获取 总的记录数            int pageCount = Convert.ToInt32(Math.Ceiling(pageIndexCount*1.0/pageSize));//获取总的页数            //判断页的取值范围            if (pageIndex < 1)            {                pageIndex = 1;            }            if (pageIndex > pageCount)            {                pageIndex = pageCount;            }            //Linq语句            var temp = from user in ef.UserInfo                       .OrderBy(user => user.ID)                       .Skip((pageIndex - 1) * pageSize)//跳过的序列                       .Take(pageSize)//返回指定数量的元素                       select user;            ViewData.Model = temp;//把这个Linq语句读取的数据给这个实体model            ViewData["pageIndex"] = pageIndex;            ViewData["pageIndexCount"] = pageIndexCount;            ViewData["pageCount"] = pageCount;            ViewData["pageSize"] = pageSize;            return View();        } 这个在前台循环的展示数据<%for (int i = 1; i <= Convert.ToInt32(ViewData["pageCount"]); i++)      { %>        <%:Html.ActionLink(i.ToString(),"UserDataPage",new {pageIndex=i}) %><!--这用到了Html.ActionLink链接标签里面的参数有一个文本链接就是所得到的数字,第二个参数为执行的方法,第三个是值-->    <%} %>    <%:"当前页:" + ViewData["pageSize"] + "数据"%>&nbsp;<%:"共:"+ViewData["pageIndexCount"]+"条" %>&nbsp;<%:"共:"+ViewData["pageCount"]+"页" %>&nbsp;  AI代码助手复制代码

第二种分页  有样式

这个是在models里面创建的类 是一个静态的类型为HtmlString的 是微软定义的一个类

public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount)         {             var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath;             pageSize = pageSize == 0 ? 3 : pageSize;             var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数             var output = new StringBuilder();             if (totalPages > 1)             {                 //if (currentPage != 1)                 {//处理首页连接                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize);                 }                 if (currentPage > 1)                 {//处理上一页的连接                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize);                 }                 else                 {                     // output.Append("<span class='pageLink'>上一页</span>");                 }                  output.Append(" ");                 int currint = 5;                 for (int i = 0; i <= 10; i++)                 {//一共最多显示10个页码,前面5个,后面5个                     if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages)                     {                         if (currint == i)                         {//当前页处理                             //output.Append(string.Format("[{0}]", currentPage));                             output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage);                         }                         else                         {//一般页处理                             output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint);                         }                     }                     output.Append(" ");                 }                 if (currentPage < totalPages)                 {//处理下一页的链接                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize);                 }                 else                 {                     //output.Append("<span class='pageLink'>下一页</span>");                 }                 output.Append(" ");                 if (currentPage != totalPages)                 {                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize);                 }                 output.Append(" ");             }             output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行              return new HtmlString(output.ToString());         } 在前台调用这个方法即可 <div class="page_nav">     <%:Html.ShowPageNavigate(Convert.ToInt32(ViewData["pageIndex"]),3,Convert.ToInt32(ViewData["pageCount"])) %>    </div>    <p> 这个是样式文件夹 这个呢可以在网上扒的哈,我这不一定你就能用的哦 亲.paginator {     font: 12px Arial, Helvetica, sans-serif;     padding: 10px 20px 10px 0;     margin: 0px; }  .paginator a {     border: solid 1px #ccc;     color: #0063dc;     cursor: pointer;     text-decoration: none; }  .paginator a:visited {     padding: 1px 6px;     border: solid 1px #ddd;     background: #fff;     text-decoration: none; }  .paginator .cpb {     border: 1px solid #F50;     font-weight: 700;     color: #F50;     background-color: #ffeee5; }  .paginator a:hover {     border: solid 1px #F50;     color: #f60;     text-decoration: none; }  .paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover {     float: left;     height: 16px;     line-height: 16px;     min-width: 10px;     _width: 10px;     margin-right: 5px;     text-align: center;     white-space: nowrap;     font-size: 12px;     font-family: Arial,SimSun;     padding: 0 3px; } /*****************************2*/ .page_nav,  #commentpage{clear:both; padding:15px 0; color:#666; font:normal 12px/24px Arial; text-align:center;}  .page_nav a,  #commentpage a{display:inline-block; height:22px; margin:0 2px; padding:0 8px; border:solid 1px #dbe5ee; -moz-border-radius:2px; -webkit-border-radius:2px; -khtml-border-radius:2px; border-radius:2px; background:#fff; color:#333; font:normal 12px/22px Arial, Helvetica, sans-serif; cursor:pointer;}      .page_nav strong{display:inline-block; height:24px; margin:0 3px; padding:0 8px; border:none; -moz-border-radius:2px; -webkit-border-radius:2px; -khtml-border-radius:2px; border-radius:2px; background:#c00; color:#fff; font-weight:normal; line-height:24px; text-decoration:none;}      .page_nav a:hover,      .page_nav a.on{height:24px; margin:0 3px; border:none; background:#c00; color:#fff; line-height:24px; text-decoration:none;}      .page_nav a.select{cursor:default;}      .page_nav .view_all{display:block; text-align:center;}      .page_nav .view_all a{height:auto; margin:0; padding:0; border:none; color:#06c; line-height:24px;}      .page_nav .view_all a:hover{height:auto; margin:0; padding:0; background:none;} AI代码助手复制代码

AI代码助手复制代码

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×