供求信息网(19)

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控件显示的免费招聘信息跳转到第一页。实现代码如下:

读书导航