如何对包含10条记录的表进行分页,以便一次只显示其中的一些记录 背后的代码是:
protected void Page_Load(object sender, EventArgs e)
{
Rep_Bind();
}
private void Rep_Bind()
{
SqlDataAdapter adp = new SqlDataAdapter("select * from tbbook",ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
DataSet ds = new DataSet();
adp.Fill(ds);
Repeater1.DataSource = ds;
Repeater1.DataBind();
}
这是html代码:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<table>
<tr>
<td>
<img src='<%#Eval("bookimg") %>'height="50" width="50" />
<b>Title:</b><%#Eval("booktit" )%><br />
<b>Author:</b><%#Eval("bookauth") %><br />
<b>Publisher:</b><%#Eval("bookpub") %><br />
<b>Price:</b><%#Eval("bookprc") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
现在我想要next和prev的链接按钮。它显示了下一个和之前的记录。那我该怎么做呢?
答案 0 :(得分:1)
您可以添加DataPager控件。
不确定您是否可以使用Repeater进行分页。你需要做很多工作才能让它运转起来。请检查此link
您可能希望改用ListView。
<asp:ListView ID="ListView1" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<img src='<%#Eval("bookimg") %>' height="50" width="50" />
<b>Title:</b><%#Eval("booktit" )%><br />
<b>Author:</b><%#Eval("bookauth") %><br />
<b>Publisher:</b><%#Eval("bookpub") %><br />
<b>Price:</b><%#Eval("bookprc") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" />
</Fields>
</asp:DataPager>