ASP.NET MVC 2入門演練 5 —— 分頁

來源:互聯網
上載者:User

    先睹為快,如下: 

    

    分頁使用的是Paging with ASP.NET MVC,你可以點擊這裡下載和瞭解使用說明。或者從這裡下載源碼:/Files/Ferry/VS2010/martijnboland-MvcPaging-515e582.zip

    下載下來後解壓,開啟解決方案,將MvcPaging項目編譯,然後在Debug/Bin目錄下找到MvcPaging.dll,並添加到項目中(添加引用)。

    解決方案中還有一個Demo項目,會對你使用MvcPaging有協助。

    好了,接下來,看看如何改造下我們的代碼,實現列表翻頁功能。

一、添加引用

    就是上面說的,不多說了。如果使用過程中發現找不到某個(些)對象,將項目編譯一下就好了,當然命名空間要引用。

二、改造Controller:NewsController.cs

      先添加對命名空間的引用:

using MvcPaging;

      再將List方法修改如下:

        public ActionResult List(int? page)
        {            //每頁顯示記錄數,這裡設定了1
            const int defaultPageSize = 1;
            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
            return View(db.CMSNews.OrderByDescending(Model => Model.PubDate).ToList().ToPagedList(currentPageIndex, defaultPageSize));
            //return View(db.CMSNews.OrderByDescending(Model => Model.PubDate).ToList());
        }

 

三、修改View:List.aspx

  先修改Page命令,就是修改Inherits屬性,再添加對所需命名空間的引用:

      這裡的CMSNews就是我們這個例子中的Model。

<%--<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MVC2Demo.Models.CMSNews>>" %>--%>
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="ViewPage<IPagedList<CMSNews>>" %>

<%@ Import Namespace="MvcPaging"%>
<%@ Import Namespace="MVC2Demo.Models"%>

 

  添加分頁代碼(div部分是新加的):

<p>
        <%: Html.ActionLink("Create New", "Create") %>
        <div class="pager">
        <%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount) %>
        </div>
    </p>

 

四、添加CSS

     實際上,上面的步驟已經完成的分頁的功能,但要讓分頁更好看一些,那麼從下載的Demo項目的Content/Site.css中將如下代碼拷貝到我們網站的Css檔案中,我們也看到了,在上面的div中也指定了使用此樣式。

/* Pager */
.pager 
{
    margin:8px 3px;
    padding:3px;
}

.pager .disabled 
{
    border:1px solid #ddd;
    color:#999;
    margin-top:4px;
    padding:3px;
    text-align:center;
}

.pager .current 
{
    background-color:#06c;
    border:1px solid #009;
    color:#fff;
    font-weight:bold;
    margin-top:4px;
    padding:3px 5px;
    text-align:center;
}

.pager span, .pager a
{
    margin: 4px 3px;
}

.pager a 
{
    border:1px solid #c0c0c0;
    padding:3px 5px;
    text-align:center;
    text-decoration:none;
}

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.