上篇過後,被評為沒有什麼技術含量了,但我覺得這並沒有什麼問題,因為文章不一定會讓所有人群受益,文章或適於新手,或適於熟手。 但凡是對人有所啟發,我覺得寫文章有值得。
而且我覺得這一系列主要是在開發中遇到的問題及解決方法,有容易想到的,有經過幾次 開發迭代才形成的。還是那句話,這些未必是一些高效的技巧,但是的確是能解決問題,也未必有什麼高深的原理,只是我覺得值得分享。
3.Pager
3.1需求及模擬代碼
需求,假設我們有個列表,有分頁功能,我們可能需要一個頁碼列表,如
我們模擬寫一下Action:
1: public ActionResult Index(int? p)
2: {
3: if (!p.HasValue) p = 1;//如果未對p 傳值就是第1頁
4: var list = new List<int>();//生成一個模擬列表
5: for (var i = 0; i < 10;i++ )
6: {
7: list.Add(p.Value);//是第幾頁就向中填充幾個這個頁碼的數
8: }
9: return View(list);//強型傳遞給View
10: }
View中我寫以下顯示方式:
1: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<List<int>>" %>
2:
3: <asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
4: Pager for List
5: </asp:Content>
6:
7: <asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
8: <div>
9: <ul>
10: <%foreach (int i in Model){//顯示這個列表%>
11: <li><%=i %></li>
12: <%} %>
13: </ul>
14: </div>
15: <!--將在這裡顯示分頁的部分-->
16: </asp:Content>
下面是運行後 的結果:
第一頁URL類似/Home/Index?p=1
第二頁URL類似/Home/Index?p=2
其它頁面以此類推