在ASP.Net內中,如何做到分頁
我不只一次地被別人問起,如何在ASP.Net實現分頁功能。我實在不願意回答這個問題。因為在ASP.Net中實現分頁,實在是太簡單了,簡單到你一看到程序就會去氣得跳樓,呵呵要發表感歎,為什麼這個東東不早出來。
在以住的WEB技術中,我們要做到分頁,經常是一長串代碼才能搞定它,而且每用一個頁面,就要重寫一次,煩的要命。但是在ASP.Net中借助DataGrid控件,我們分頁程序可以輕松搞定,需要的只是對DataGrid控件做一些設定。我們還是借助一個程序來看:)
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
//聯結語句
string MyConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:/test/test.mdb;";
string strComm = "select * from UserList order by id";
//打開一個聯結
ADOConnection MyConnection = new ADOConnection(MyConnString);
//打開兩個DataSetCommand
ADODataSetCommand MyComm = new ADODataSetCommand(strComm,MyConnection);
DataSet MyDataSet = new DataSet();
//把UserList,BookList表存入DataSet
MyComm.FillDataSet(MyDataSet,"UserList");
DataGrid1.DataSource = MyDataSet.Tables["UserList"].DefaultVIEw;
DataGrid1.DataBind();
}
</script>
<Html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<ASP:DataGrid id="DataGrid1" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
</form>
</body>
</Html>
它的顯示結果為:
圖11-1
大家可以看到在這個UserList表中的11條數據全都出來了,沒有分頁。
下面我們小改一下DataGrid控件的屬性。加上
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"
再看看:
圖11-2
看看圖片的最下面,是不是多了,是不是,這就表示分頁啦,我們去按那個標簽就可以看到下一頁的情況:)
圖11-4
這一切是不是太簡單了。呵呵。他們的來源只是我加了那三個屬性。其實只要一個AllowPaging就行了。
AllowPaging是指允許分頁,這個是最主要的。有了它,我們才能分頁。
PageSize是指定每頁顯示的記錄數,如果不寫,就會默認為10條。
PagerStyle-HorizontalAlign是指定分面顯示的定位,默認是Left。
全部代碼是:
<ASP:DataGrid id="DataGrid1" runat="server"
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
是不是很簡單。呵呵。
注意寫這個時不要忘記<form>了,不然你的頁是能顯示,但是不能翻,呵呵。因為這是需要提交的:)
下一節我們再講解更詳細的內容,呵呵,主要是考慮到圖片太多了。浏覽速度會變慢。