正文

供求信息網(wǎng)(19)

ASP.NET項目開發(fā)案例全程實錄(第2版) 作者:明日科技


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)代碼如下:


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號