建立Controller控件器與強類型視圖呢,還有Models裏面的對象實體,相信大家看了我以前發的就能建立好了,在這裏呢就不建立了哈親css
在用戶控件器裏面寫代碼了html
下面這個分頁的方法web
- /// <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();
- }
這個在前臺循環的展現數據ide
- <%for (int i = 1; i <= Convert.ToInt32(ViewData["pageCount"]); i++)
- { %>
- <%:Html.ActionLink(i.ToString(),"UserDataPage",new {pageIndex=i}) %><!--這用到了Html.ActionLink連接標籤裏面的參數有一個文本連接就是所獲得的數字,第二個參數爲執行的方法,第三個是值-->
- <%} %>
- <%:"當前頁:" + ViewData["pageSize"] + "數據"%> <%:"共:"+ViewData["pageIndexCount"]+"條" %> <%:"共:"+ViewData["pageCount"]+"頁" %>
第二種分頁 有樣式ui
這個是在models裏面建立的類 是一個靜態的類型爲HtmlString的 是微軟定義的一個類this
- 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>
這個是樣式文件夾 這個呢能夠在網上扒的哈,我這不必定你就能用的哦 親spa
- .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;}
3d