1.6.3 網(wǎng)站招聘信息頁實現(xiàn)過程
本模塊使用的數(shù)據(jù)表:tb_info。
1.設(shè)計步驟
(1)在網(wǎng)站的根目錄下創(chuàng)建ShowPag文件夾,用于存放顯示分類信息的Web窗體。
(2)在ShowPag文件夾中新建一個Web窗體,命名為webZP.aspx,并且將其作為MasterPage.master母版頁的內(nèi)容頁。該過程已經(jīng)在1.5.2節(jié)中詳細(xì)講解,webZP.aspx主要用于網(wǎng)站的招聘信息頁。
(3)在Web窗體的Content區(qū)域添加一個Table表格,用于頁面的布局。
(4)在Web窗體Content區(qū)域的Table中添加兩個DataList服務(wù)器控件,主要用于顯示各種類型的部分供求信息。
(5)在Web窗體Content區(qū)域的Table中添加4個LinkButton服務(wù)器控件,主要用于翻頁的操作(第一頁、上一頁、下一頁、最后一頁)。
(6)在Web窗體Content區(qū)域的Table中添加兩個Label服務(wù)器控件,主要用于實現(xiàn)分頁的總頁數(shù)和當(dāng)前頁數(shù)。
(7)在添加的DataList數(shù)據(jù)服務(wù)器控件中分別添加一個Table,用于DataList控件的布局,并綁定相應(yīng)的數(shù)據(jù)。DataList數(shù)據(jù)服務(wù)器控件ItemTemplate模板中實現(xiàn)綁定的代碼如下:
注意:添加兩個DataList服務(wù)器控件綁定設(shè)置完全相同。
<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">聯(lián)系人:<%#DataBinder.Eval(Container.DataItem,"linkMan") %>
聯(lián)系電話:<%#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.實現(xiàn)代碼
聲明全局靜態(tài)變量和類對象,用途參見代碼中注釋部分。在頁面的加載事件中主要實現(xiàn)功能:獲取查詢關(guān)鍵字信息、調(diào)用自定義方法DataListBind()實現(xiàn)免費(fèi)招聘信息分頁顯示、顯示未過期的收費(fèi)招聘信息。實現(xiàn)代碼如下:
例程19 代碼位置:光盤\TM\01\SIS\ ShowPage \ webZP.aspx.cs
Operation operation = new Operation(); //聲明業(yè)務(wù)層類對象
static string infoType = ""; //聲明供求信息類型對象
static string infoKey = ""; //聲明查詢信息關(guān)鍵字
static PagedDataSource pds = new PagedDataSource(); //聲明頁數(shù)據(jù)源
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
infoType = "招聘信息";
//infoKey是指用戶快速檢索,如果值為空,顯示所有招聘供求信息,否則顯示查詢內(nèi)容
infoKey = Convert.ToString(Session["key"]);
this.DataListBind();
//顯示未過期收費(fèi)信息
dlCharge.DataSource = operation.SelectLeaguerInfo(true, infoType);
dlCharge.DataBind();
}
}
自定義DataListBind()方法主要用于實現(xiàn)DataList控件(分頁顯示免費(fèi)供求信息)綁定及分頁功能。實現(xiàn)代碼如下:
例程20 代碼位置:光盤\TM\01\SIS\ ShowPage \ webZP.aspx.cs
/// <summary>
/// 將數(shù)據(jù)綁定到DataList控件,并且實現(xiàn)分頁功能
/// </summary>
public void DataListBind()
{
pds = operation.PageDataListBind(infoType, infoKey, Convert.ToInt32(lblCurrentPage.Text), 10);
lnkBtnFirst.Enabled = true; //將實現(xiàn)翻頁功能的LinkButton控件的Enabled屬性設(shè)置為true(可以翻頁)
lnkBtnLast.Enabled = true;
lnkBtnNext.Enabled = true;
lnkBtnPrevious.Enabled = true;
if (lblCurrentPage.Text == "1") //如果當(dāng)前顯示第一頁,“第一頁”和“上一頁”按鈕不可用
{
lnkBtnPrevious.Enabled = false;
lnkBtnFirst.Enabled = false;
}
//如果顯示最后一頁,“末一頁”和“下一頁”按鈕不可用
if (lblCurrentPage.Text == pds.PageCount.ToString())
{
lnkBtnNext.Enabled = false;
lnkBtnLast.Enabled = false;
}
lblSumPage.Text = pds.PageCount.ToString(); //實現(xiàn)總頁數(shù)
dlFree.DataSource = pds; //綁定數(shù)據(jù)源
dlFree.DataKeyField = "id";
dlFree.DataBind();
}
代碼貼士
PageDataListBind()方法:綁定DataList控件,并且設(shè)置分頁。
PagedDataSource.PageCount屬性:獲取顯示數(shù)據(jù)源中的所有項所需要的總頁數(shù)。
單擊“第一頁”LinkButton控件,主要將DataList控件顯示的免費(fèi)招聘信息跳轉(zhuǎn)到第一頁。實現(xiàn)代碼如下: