20.6 留言分页列表显示模块
从本节开始编写留言分页列表显示模块的代码。留言分页列表显示模块的功能是将系统库内的留言信息以分页列表的样式显示出来。本模块功能的实现文件如下。
- LiuyanFen.aspx。
- LiuyanFen.aspx.cs。
本节将详细讲解上述文件的具体实现过程。
20.6.1 留言分页显示页面
留言分页显示页面文件LiuyanFen.aspx的功能是插入专用控件,将系统内数据读取出来,然后将获取的留言数据以分页样式显示。其具体实现过程如下。
(1)插入1个GridView控件,用于以列表样式显示留言的信息,包括留言者、邮箱地址、时间和留言内容等。
(2)通过GridView控件设置分页显示留言数为5。
(3)通过GridView控件设置分页处理事件为gvMessage_PageIndexChanging。
(4)通过PagerSettings设置分页模式为NumericFirstLast。
文件LiuyanFen.aspx的主要实现代码如下。
……
<asp:ScriptManager ID="sm" runat="server" />
<table class="Table" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td colspan="2">
<asp:UpdatePanel runat="server" ID="up">
<ContentTemplate>
<asp:GridView ID="gvMessage" runat="server" Width="300%" AutoGenerateColumns="False" SkinID="mm"
ShowHeader="False"
AllowPaging="True" OnPageIndexChanging="gvMessage_PageIndexChanging" PageSize="5">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table class="Table" cellpadding="3" cellspacing="0">
<tr>
<td>作者:<a href='mailto:<%#| Eval("Email") %>'><%#| Eval("Email") %></a> 于[<%#| Eval("IP") %>]、[<%#|
Eval("CreateDate") %>] 留言</td>
</tr>
<tr><td><hr size="1" /></td></tr>
<tr><td class="Title"> <%#| Eval("Title") %></td></tr>
<tr><td> <%#| Eval("Message") %></td></tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings Mode="NumericFirstLast" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
……
20.6.2 分页处理页面
分页处理页面文件LiuyanFen.aspx.cs的功能是定义分页事件对留言数据进行重新处理。其具体实现过程下。
(1)引入AjaxLeaveword命名空间。
(2)定义Page_Load载入页面文件。
(3)定义BindPageData()读取并显示留言信息。
(4)声明分页事件gvMessage_PageIndexChanging(object sender,GridViewPageEventArgs e),设置gvMessage控件的新页码,然后重新绑定gvMessage控件数据。
文件LiuyanFen.aspx.cs的主要实现代码如下。
……
using ASPNETAJAXWeb.AjaxLeaveword;
public partial class BoardPaging : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
if(!Page.IsPostBack)
{
BindPageData();
}
}
private void BindPageData()
{ //获取数据
Message message = new Message();
DataSet ds = message.GetMessages();
//显示数据
gvMessage.DataSource = ds;
gvMessage.DataBind();
}
protected void gvMessage_PageIndexChanging(object sender,GridViewPageEventArgs e)
{ //设置新页面,并重新绑定数据
gvMessage.PageIndex = e.NewPageIndex;
BindPageData();
}
}
经过上述代码设置,程序执行后将首先按照分页模式显示第一分页数据,如图20-9所示;当单击下方的对应分页链接后,将切换到指定的页面。
图20-9 分页默认显示效果图