zoukankan      html  css  js  c++  java
  • asp.net mvc3 简单分页帮助器

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Routing;
    using System.Text;
    using System.Web.Mvc.Html;

    namespace UpLoadFile.Helper
    {
        public static class HelpPager
        {
            /// <summary>
            ///   分页pager显示
            /// </summary>
            /// <param name="html"></param>
            /// <param name="currentPageStr">没用加的好玩</param>
            /// <param name="pageSize">每页显示</param>
            /// <param name="totalCount">总数据量</param>
            /// <returns></returns>
            public static MvcHtmlString pager(this HtmlHelper html, string currentPageStr, int pageSize, int totalCount)
            {
                var stringPage = html.ViewContext.HttpContext.Request.QueryString["page"];//获取当前url中page的值
                var queryString = html.ViewContext.HttpContext.Request.QueryString;
                int currentPage = 1;
                var totalPages = Math.Max((totalCount + pageSize - 1)/pageSize, 1);//总页数
                //与相应的QueryString绑定
                if (!string.IsNullOrEmpty(stringPage))
                {
                    currentPage = int.Parse(stringPage);//当前页
                }

                var dict = new UrlHelper(html.ViewContext.RequestContext);
                var que = new RouteValueDictionary();
                var output = new StringBuilder();

                for (int i = 0; i < queryString.Count; i++)
                {
                    que.Add(queryString.Keys[i], queryString[i].ToString());
                }

                if (totalPages > 1)
                {
                    if (currentPage != 1)
                    {
                        //处理首页链接
                        que["page"] = string.Empty;
                        output.AppendFormat("<a href=\"{0}\" title=\"第一页\" class=\"page-start\">首页</a>",
                                        dict.RouteUrl(que));
                    }

                    if (currentPage > 1)
                    {
                        //处理上一页
                        que["page"] = String.Format("{0}", currentPage - 1);
                        output.AppendFormat("<a href=\"{0}\" title=\"上一页\" class=\"page-prev\">上一页</a>",
                                        dict.RouteUrl(que));
                    }

          //可以自己随便写,给的例子
                    for (int i = 0; i < 5; i++)
                    {
                        //当前页
                        que["page"] = String.Format("{0}", currentPage + i);
                        output.AppendFormat("<a href=\"{1}\"  class=\"page-cur\" title=\"第{0}页\">{0}</a>", currentPage + i, dict.RouteUrl(que));    
                    }

                    if (currentPage < totalPages)
                    {
                        //处理下一页的链接
                        que["page"] = String.Format("{0}", currentPage + 1);
                        output.AppendFormat("<a href=\"{0}\" title=\"下一页\" class=\"page-prev\">下一页</a>",
                                        dict.RouteUrl(que));
                    }

                    if (currentPage != totalPages)
                    {
                        que["page"] = String.Format("{0}", totalPages);
                        output.AppendFormat("<a href=\"{0}\" title=\"末页\" class=\"page-prev\">末页</a>",
                                        dict.RouteUrl(que));
                    }
                }
                return MvcHtmlString.Create(output.ToString());
            }
        }
    }

    页面调用 @Html.pager("List",5, 100)

  • 相关阅读:
    typescript接口初识
    TypeScript如何创建一个工程
    typescript开发入门
    node.js下面创建一个express应用的几条命令【乱序版】
    一天入门typescript
    Node.js快速创建一个Express应用的几个步骤
    数据结构--栈
    数据结构--单链表
    数据结构--二叉树
    数据结构--树
  • 原文地址:https://www.cnblogs.com/kaixing/p/2245919.html
Copyright © 2011-2022 走看看