界面:
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>CategoryID</td>
<td>CategoryName</td>
<td>Description</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("CategoryID") %></td>
<td><%#Eval("CategoryName") %></td>
<td><%#Eval("Description") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label>/<asp:Label ID="lblTotalPage" runat="server" Text="Label"></asp:Label>
<br/>
<asp:HyperLink ID="lblFirst" runat="server">First Page</asp:HyperLink>
<asp:HyperLink ID="lblPre" runat="server">Pre Page</asp:HyperLink>
<asp:HyperLink ID="lblNext" runat="server">Next Page</asp:HyperLink>
<asp:HyperLink ID="lblLast" runat="server">Last Page</asp:HyperLink>
</div>
</form>
</body>
后台:
protected void Page_Load(object sender, EventArgs e)
{
//NorthwindConnectionString1
DataBind();
}
private static string cnnstr = ConfigurationManager.ConnectionStrings["NorthwindConnectionString1"].ConnectionString;
private void DataBind()
{
SqlConnection cnn = new SqlConnection(cnnstr);
string cmdText = "select CategoryID,CategoryName,Description from Categories ";
SqlDataAdapter da = new SqlDataAdapter(cmdText, cnn);
DataSet ds = new DataSet();
da.Fill(ds,"Categories");
PagedDataSource pds = new PagedDataSource();
pds.PageSize = 1;
pds.AllowPaging = true;
pds.DataSource = ds.Tables["Categories"].DefaultView;
lblTotalPage.Text = pds.PageCount.ToString();
lblCurrentPage.Text = (pds.CurrentPageIndex + 1).ToString();
int currentPage;
int.TryParse(Request.QueryString["page"],out currentPage);
pds.CurrentPageIndex = currentPage;
lblFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?page=0";
lblLast.NavigateUrl=Request.CurrentExecutionFilePath+"?page="+(pds.PageCount-1).ToString();
if (!pds.IsFirstPage)
{
lblFirst.Visible = true;
lblPre.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (pds.CurrentPageIndex - 1).ToString();
}
else
{
lblFirst.Visible = false;
lblPre.Visible = false;
}
if (!pds.IsLastPage)
{
lblNext.Visible = true;
lblNext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (pds.CurrentPageIndex + 1).ToString();
}
else
{
lblLast.Visible = false;
lblNext.Visible = false;
}
Repeater1.DataSource = pds;
Repeater1.DataBind();
}