asp.net 分頁潛談_實用技巧

來源:互聯網
上載者:User
要做出分頁效果不外乎有這幾個方向入手,從資料來源、從伺服器或者從用戶端。不管你是怎麼做都跳不出這三個地方(其實B/S結構的開發了就是在這三個地方做文章,只不過有些微變化而已)。

先說說從資料來源入手的吧。一想到資料來源做分頁,自然是T-SQL了。什麼預存程序,視圖、特殊函數(當然,這裡指的只是我熟悉的MS)。能用到的SQL知識都往上砸。具體的實現就不說了,忒Easy。代碼部分基本沒有什麼,只要每次更改T-SQL語句就行了。不好的就是太受資料庫的限制,程式中一丁點的變化,所有有關SQL的地方都要變,有些甚至要改變資料庫的結構。沒有紮實的資料庫知識是萬萬不行了。

伺服器端做分頁可能是行家們最常用到的方法了。因為有封裝好的資料繫結控制項啊!拿來就可以用。但是,那麼說微軟是大佬級人物呢,做個東西都深謀遠慮。把菜鳥跟恐龍都考慮在內。你如果是菜鳥就用GridView,內建的分頁讓你幾乎不用寫代碼就能實現。但如果你是恐龍那就用ListView或DataList等控制項,絕對能讓你的技術發揮的淋漓盡致。微軟為了給這些人個台階下,就又開發出了DataPager控制項。他好像只認IPageableItemContainer介面。緊接著就又有了AspNetPager控制項,這就給所有資料繫結控制項又一個分頁的機會。不過AspNetPager與DataPager不同,AspNetPager只有分頁的UI部分,並不能單獨完在資料的分頁功能。其實大家一定會問,為什麼我們不能做自己的分頁控制項呢?這好像不是微軟的原則啊?哈哈,別誤會微軟。其實早就有這個方法了,只是少有人問津。這就是PagedDataSource。他是沒有UI的,微軟所有分頁的控制項都是擴充於他的,包括最早的GridView。有了他,我們就可以隨心所欲的做自己的分頁控制項了。如果把AspNetPager和PagedDataSource結合起來用,那就是如虎添翼。

再說說用戶端的分頁吧。在以前,用戶端做分頁無疑就是胖用戶端。把所有資料都存到頁面,用js控制顯示順序。少量資料還可以忍受,資料一多,那就是謀殺。不過,自從AJAX的出現,改變了這一現象。雖然也少不了的與伺服器互動,但總比乾等著強吧?這方面.net也表現不錯。有了UpdatePanel,一切盡在不言中啊。
以上三個方向都可以很好的完成分頁功能,但誰好誰壞也不是我一個人就能決定的,還要看個人的喜好。不過,有一人原則不能忽略,那就是“大道至簡,適可而止”。相信,每個人都有自己的一番體會的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.