正文

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

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


1.9 免費供求信息審核頁(后臺)

1.9.1 免費供求信息審核頁概述

任何用戶都可以免費發(fā)布供求信息,如果用戶發(fā)布的供求信息屬于不道德、不健康以及違法的信息,那么將會造成不可估計的損失。所以后臺管理人員可以對供求信息進行審核,審核通過的供求信息可以顯示在分類相應的頁面中,否則,信息不能發(fā)布。免費供求信息審核頁面如圖1.40所示。

1.9.2 免費供求信息審核頁技術分析

免費供求信息審核頁中,主要用到了GridView表格中的3個典型功能,在此對其進行技術分析。表格中3個典型功能的應用如下:

? 將0和1替換為未審核和已審核狀態(tài)類型。

由于在數(shù)據(jù)庫中審核和未審核的供求信息是用數(shù)字表示(“0”表示未審核,“1”表示已經(jīng)通過審核)的,但在顯示時不能顯示為“0”或者“1”,要使軟件達到人性化效果,必須將其轉(zhuǎn)換成相應的漢字。

? 表格中多余的文字使用…代替。

由于供求信息的內(nèi)容涉及的文字數(shù)量很大,不能在一個單元格中顯示該條供求信息的所有內(nèi)容,否則界面不但不美觀,而且看上去很亂,因此本程序指定顯示18個字符,超過的使用…代替。

? 表格中高亮顯示行。

如果表格顯示的數(shù)據(jù)行數(shù)在3行或5行之內(nèi),可以不用高亮顯示行功能;如果數(shù)據(jù)量很大,在10或20行以上的數(shù)據(jù),用戶時間長了很容易看串行,則需要使用高亮顯示行。高亮顯示行是當鼠標移動到某行時,該行顯示特殊顏色,移開后顏色恢復,如圖1.41所示。

實現(xiàn)代碼如下:

例程27  代碼位置:光盤\TM\01\SIS\ BackGround\ CheckInfo.aspx.cs

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

    if (e.Row.RowType == DataControlRowType.DataRow)

    {

        //高亮顯示指定行

        e.Row.Attributes.Add("onMouseOver", "Color=this.style.backgroundColor;this.style.backgroundColor='#FFF000'");

        e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor=Color;");

        //設置審核狀態(tài),并且設置相應的顏色

        if (e.Row.Cells[5].Text == "False")

        {

            e.Row.Cells[5].Text =StringFormat.HighLight("未審核",true);

        }

        else

        {

            e.Row.Cells[5].Text = StringFormat.HighLight("已審核", false);

        }

        //多余字使用...顯示

        e.Row.Cells[2].Text = StringFormat.Out(e.Row.Cells[2].Text, 18);

    }

}

1.9.3  免費供求信息審核頁實現(xiàn)過程

本模塊使用的數(shù)據(jù)表:tb_info。

1.設計步驟

(1)在網(wǎng)站的根目錄下創(chuàng)建BackGround文件夾,用于存放網(wǎng)站后臺管理Web窗體。

(2)在BackGround文件夾中新建一個Web窗體,命名為CheckInfo.aspx,主要用于免費供求信息的審核。

(3)在Web窗體中添加一個Table,用于頁面的布局。

(4)在Table中添加一個Label控件,主要用于控制GridView控件分頁后的總頁數(shù)。主要屬性設置:AllowPaging屬性為True,即允許分頁;PageSize屬性為24,即每頁顯示24條數(shù)據(jù);AutoGenerateColumns屬性為False,即不顯示自動生成的列。

(5)在Table中添加3個RadioButton控件,分別用于控制顯示已審核供求信息、顯示未審核供求信息、顯示同類型所有供求信息。

(6)在Table中添加一個GridView控件,主要用于顯示供求信息及對供求信息的審核操作。

2.實現(xiàn)代碼

聲明全局靜態(tài)變量和類對象,用途參見代碼中注釋部分。在頁面的加載事件中,獲取供求信息的類型,并調(diào)用自定義GridViewBind()方法查詢相關類型的供求信息顯示在GridView控件中。值得注意的是,供求信息網(wǎng)所有分類供求信息審核都是在CheckInfo.aspx頁面實現(xiàn)的。頁面的加載事件中實現(xiàn)代碼如下:

例程28  代碼位置:光盤\TM\01\SIS\ BackGround\ CheckInfo.aspx.cs

Operation operation = new Operation(); //業(yè)務層類對象

static string infoType = ""; //供求信息類型

static int CheckType = -1; //3種類別:全部顯示(-1代表全部顯示)、顯示未審核(0)、顯示審核(1)

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        infoType = Request.QueryString["id"].ToString();

        GridViewBind(infoType);

    }

}

自定義GridViewBind()方法,用于查詢相關類型的供求信息,并且將查詢結果顯示在GridView表格控件中。實現(xiàn)代碼如下:

例程29  代碼位置:光盤\TM\01\SIS\ BackGround\ CheckInfo.aspx.cs

/// <summary>

/// 綁定供求信息到GridViev控件

/// </summary>

/// <param name="type">供求信息類別</param>

private void GridViewBind(string type)

{

    GridView1.DataSource = operation.SelectInfo(type);

    GridView1.DataKeyNames=new string[] {"id"};

    GridView1.DataBind();

    //顯示當前頁數(shù)

    lblPageSum.Text = "當前頁為 " + (GridView1.PageIndex + 1) + " / " + GridView1.PageCount + " 頁";

}

GridView控件的RowDataBound事件是在將數(shù)據(jù)行綁定到數(shù)據(jù)時發(fā)生,那么在該事件下每綁定一行,就設置每行的相關功能,如高亮顯示行、設置審核狀態(tài)、多余的文字使用…替換。實現(xiàn)代碼如下:

例程30  代碼位置:光盤\TM\01\SIS\ BackGround\ CheckInfo.aspx.cs

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

    if (e.Row.RowType == DataControlRowType.DataRow)

    {

        //高亮顯示指定行

        e.Row.Attributes.Add("onMouseOver", "Color=this.style.backgroundColor;this.style.backgroundColor='#FFF000'");

        e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor=Color;");

        //設置審核狀態(tài),并且設置相應的顏色

        if (e.Row.Cells[5].Text == "False")

        {

            e.Row.Cells[5].Text =StringFormat.HighLight("未審核",true);

        }

        else

        {

            e.Row.Cells[5].Text = StringFormat.HighLight("已審核", false);

        }

        //多余字使用...顯示

        e.Row.Cells[2].Text = StringFormat.Out(e.Row.Cells[2].Text, 18);

    }

}

 


上一章目錄下一章

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