在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(Objectsrc,EventArgs e)
{
file://聯結語句
string MyConnString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:/test/test.mdb;";
string strComm = "select * from UserList order by id";
file://打開一個連接
ADOConnectionMyConnection = new ADOConnection(MyConnString);
file://打開兩個DataSetCommand
ADODataSetCommandMyComm = new ADODataSetCommand(strComm,MyConnection);
DataSetMyDataSet = new DataSet();
file://把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>了,不然你的頁是能顯示,但是不能翻,呵呵。因為這是需要提交的:)