注:封装数据绑定控件(如System.Web.UI.WebControls.DataGrid、System.Web.UI.WebControls.GridView、System.Web.UI.WebControls.DetailsView
//和System.Web.UI.WebControls.FormView)的与分页相关的属性,以允许该控件执行分页操作。无法继承此类。
DataList
public DataTable GetDataSet(string sql)
{
SqlConnection conn = this.getconn();
SqlDataAdapter sdr = new SqlDataAdapter(sql, conn);
DataSet rs = new DataSet();
sdr.Fill(rs);
return rs.Tables[0];
}
publicPagedDataSource PageDataListBind(string sql, int currentPage, intPageSize)
{
PagedDataSource pds = new PagedDataSource();
pds.DataSource = GetDataSet(sql).DefaultView;
pds.AllowPaging = true;
pds.PageSize = PageSize;
pds.CurrentPageIndex = currentPage - 1;
return pds;
}
DB db = new DB();
PagedDataSource pds = new PagedDataSource();
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
public voidbind()
{
pds = db.PageDataListBind("select * fromtb_word",Convert.ToInt32(lblCurrentPage.Text),2);
lnkBtnFirst.Enabled = true;
lnkBtnLast.Enabled = true;
lnkBtnPrevious.Enabled = true;
lnkBtnNext.Enabled = true;
if (lblCurrentPage.Text == "1")
{
lnkBtnFirst.Enabled = false;
lnkBtnPrevious.Enabled = false;
}
if(lblCurrentPage.Text==pds.PageCount.ToString())
{
lnkBtnLast.Enabled = false;
lnkBtnNext.Enabled = false;
}
lblSumPage.Text = pds.PageCount.ToString();
DataList1.DataSource = pds;
DataList1.DataKeyField = "ID";
DataList1.DataBind();
}
protectedvoid lnkBtnFirst_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = "1";
bind();
}
protectedvoid lnkBtnPrevious_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) -1).ToString();
bind();
}
protectedvoid lnkBtnNext_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) +1).ToString();
bind();
}
protectedvoid lnkBtnLast_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = lblSumPage.Text;
bind();
}
<form id="form1"runat="server">
<div>
<asp:DataList ID="DataList1"runat="server">
<ItemTemplate>
<table border="1">
<tr>
<td>ID</td><td>标题</td><td>内容</td>
</tr>
<tr>
<td><%#Eval("ID")%></td>
<td><%#Eval("Title")%></td>
<td><%#Eval("Content")%></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
当前页码为[<asp:Label ID="lblCurrentPage" runat="server"Text="1"></asp:Label>]页
总页码[<asp:Label
ID="lblSumPage" runat="server"Text="0"></asp:Label>]页
<asp:LinkButton ID="lnkBtnFirst" runat="server"Font-Underline="False" OnClick="lnkBtnFirst_Click"> 第一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnPrevious" runat="server"Font-Underline="False" OnClick="lnkBtnPrevious_Click"> 上一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnNext" runat="server"Font-Underline="False" OnClick="lnkBtnNext_Click"> 下一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnLast" runat="server"Font-Underline="False"OnClick="lnkBtnLast_Click"> 末一页</asp:LinkButton>
</div>
</form>