1.6.3 网站招聘信息页实现过程
本模块使用的数据表:tb_info。
1.设计步骤
(1)在网站的根目录下创建ShowPag文件夹,用于存放显示分类信息的Web窗体。
(2)在ShowPag文件夹中新建一个Web窗体,命名为webZP.aspx,并且将其作为MasterPage.master母版页的内容页。该过程已经在1.5.2节中详细讲解,webZP.aspx主要用于网站的招聘信息页。
(3)在Web窗体的Content区域添加一个Table表格,用于页面的布局。
(4)在Web窗体Content区域的Table中添加两个DataList服务器控件,主要用于显示各种类型的部分供求信息。
(5)在Web窗体Content区域的Table中添加4个LinkButton服务器控件,主要用于翻页的操作(第一页、上一页、下一页、最后一页)。
(6)在Web窗体Content区域的Table中添加两个Label服务器控件,主要用于实现分页的总页数和当前页数。
(7)在添加的DataList数据服务器控件中分别添加一个Table,用于DataList控件的布局,并绑定相应的数据。DataList数据服务器控件ItemTemplate模板中实现绑定的代码如下:
注意:添加两个DataList服务器控件绑定设置完全相同。
<ItemTemplate>
<table align="center" cellpadding="0" cellspacing="0" width="543">
<tr>
<td>
<span class="hongcu">『<%# DataBinder.Eval(Container.DataItem,"type") %>』</span>
<span class="chengse"><%# DataBinder.Eval(Container.DataItem,"title") %></span> <span class="huise1">
<%#DataBinder.Eval(Container.DataItem,"date") %> </span>
<br />
<span class="shenlan"> <%#DataBinder.Eval(Container.DataItem,"info") %> </span>
<br />
<span class="chengse">联系人:<%#DataBinder.Eval(Container.DataItem,"linkMan") %>
联系电话:<%#DataBinder.Eval(Container.DataItem,"tel") %></span></td>
</tr>
<tr style="color: #000000">
<td align="center">
<img height="1" src="images/longline.gif" width="525" /></td>
</tr>
<tr style="color: #000000">
<td height="10">
</td>
</tr>
</table>
</ItemTemplate>
2.实现代码
声明全局静态变量和类对象,用途参见代码中注释部分。在页面的加载事件中主要实现功能:获取查询关键字信息、调用自定义方法DataListBind()实现免费招聘信息分页显示、显示未过期的收费招聘信息。实现代码如下:
例程19 代码位置:光盘\TM\01\SIS\ ShowPage \ webZP.aspx.cs
Operation operation = new Operation(); //声明业务层类对象
static string infoType = ""; //声明供求信息类型对象
static string infoKey = ""; //声明查询信息关键字
static PagedDataSource pds = new PagedDataSource(); //声明页数据源
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
infoType = "招聘信息";
//infoKey是指用户快速检索,如果值为空,显示所有招聘供求信息,否则显示查询内容
infoKey = Convert.ToString(Session["key"]);
this.DataListBind();
//显示未过期收费信息
dlCharge.DataSource = operation.SelectLeaguerInfo(true, infoType);
dlCharge.DataBind();
}
}
自定义DataListBind()方法主要用于实现DataList控件(分页显示免费供求信息)绑定及分页功能。实现代码如下:
例程20 代码位置:光盘\TM\01\SIS\ ShowPage \ webZP.aspx.cs
/// <summary>
/// 将数据绑定到DataList控件,并且实现分页功能
/// </summary>
public void DataListBind()
{
pds = operation.PageDataListBind(infoType, infoKey, Convert.ToInt32(lblCurrentPage.Text), 10);
lnkBtnFirst.Enabled = true; //将实现翻页功能的LinkButton控件的Enabled属性设置为true(可以翻页)
lnkBtnLast.Enabled = true;
lnkBtnNext.Enabled = true;
lnkBtnPrevious.Enabled = true;
if (lblCurrentPage.Text == "1") //如果当前显示第一页,“第一页”和“上一页”按钮不可用
{
lnkBtnPrevious.Enabled = false;
lnkBtnFirst.Enabled = false;
}
//如果显示最后一页,“末一页”和“下一页”按钮不可用
if (lblCurrentPage.Text == pds.PageCount.ToString())
{
lnkBtnNext.Enabled = false;
lnkBtnLast.Enabled = false;
}
lblSumPage.Text = pds.PageCount.ToString(); //实现总页数
dlFree.DataSource = pds; //绑定数据源
dlFree.DataKeyField = "id";
dlFree.DataBind();
}
代码贴士
PageDataListBind()方法:绑定DataList控件,并且设置分页。
PagedDataSource.PageCount属性:获取显示数据源中的所有项所需要的总页数。
单击“第一页”LinkButton控件,主要将DataList控件显示的免费招聘信息跳转到第一页。实现代码如下: