- ASP.NET項(xiàng)目開發(fā)全程實(shí)錄(第4版)
- 明日科技
- 1562字
- 2019-12-06 12:04:55
3.8 留言簿模塊設(shè)計(jì)
3.8.1 留言簿模塊概述
本企業(yè)門戶網(wǎng)站中加入了留言簿模塊,以方便與用戶進(jìn)行溝通。作為企業(yè)門戶網(wǎng)站的留言簿,通常情況下只有留言、查看留言和回復(fù)留言的功能,但對(duì)于注冊(cè)用戶,登錄之后還可以刪除對(duì)其留言進(jìn)行的回復(fù)。留言頁面運(yùn)行結(jié)果如圖3.19所示。
留言詳細(xì)信息及回復(fù)頁面運(yùn)行結(jié)果如圖3.20所示。

圖3.19 留言頁面

圖3.20 留言詳細(xì)信息及回復(fù)頁面
3.8.2 留言簿模塊技術(shù)分析
實(shí)現(xiàn)留言簿模塊時(shí),主要用到了第三方組件FreeTextBox,該組件是一個(gè)在線文本編輯器,可以對(duì)文字及圖片內(nèi)容進(jìn)行處理,并將數(shù)據(jù)保存到數(shù)據(jù)庫中。FreeTextBox組件的配置步驟如下:
(1)將FreeTextBox.dll添加到項(xiàng)目中
在“解決方案資源管理器”中用鼠標(biāo)右鍵單擊項(xiàng)目,在彈出的快捷菜單中選擇“添加引用”命令,在彈出的對(duì)話框中選擇“瀏覽”選項(xiàng)卡,找到組件存放位置,單擊“確定”按鈕,系統(tǒng)將自動(dòng)創(chuàng)建Bin文件夾,并將組件存放到該文件夾中。“添加引用”對(duì)話框如圖3.21所示。

圖3.21 “添加引用”對(duì)話框
(2)設(shè)置SupportFolder屬性
將存放有FreeTextBox組件資源文件的文件夾存放到aspnet_client文件夾中,然后設(shè)置SupplorFolder屬性為“aspnet_client/FreeTextBox/”。
(3)向頁面中添加組件
配置完成后,即可向頁面中的指定位置添加FreeTextBox組件。在向頁面中添加FreeTextBox組件前,首先需要通過代碼注冊(cè)該組件,在HTML源碼頂部添加注冊(cè)代碼如下:

注冊(cè)完成后,回到設(shè)計(jì)視圖,選中FreeTextBox組件,進(jìn)行相關(guān)屬性設(shè)置。
(4)寫入數(shù)據(jù)庫
完成以上配置后,就可以使用該組件,例如,留言簿模塊中通過FreeTextBox組件輸入留言內(nèi)容,并將輸入的內(nèi)容保存到數(shù)據(jù)庫中,關(guān)鍵代碼如下:

注意
將FreeTextBox組件中的內(nèi)容插入數(shù)據(jù)庫時(shí),需要在Web.Config文件的system.web節(jié)下加入<pages validateRequest="false"/>,否則可能會(huì)出現(xiàn)異常。
3.8.3 留言簿模塊實(shí)現(xiàn)過程
本模塊使用的數(shù)據(jù)表:tb_LeaveWord、tb_Revert
留言簿模塊的具體實(shí)現(xiàn)步驟如下:
(1)新建一個(gè)基于MasterPage.master母版頁的Web頁面,命名為LeaveWord.aspx,主要用于實(shí)現(xiàn)查看留言列表和留言功能,該頁面中主要用到的控件如表3.10所示。
表3.10 留言頁面主要用到的控件

(2)新建一個(gè)基于MasterPage.master母版頁的Web頁面,命名為LWordInfo.aspx,主要用于實(shí)現(xiàn)查看留言詳細(xì)信息和回復(fù)留言的功能,該頁面中主要用到的控件如表3.11所示。
表3.11 留言詳細(xì)信息及回復(fù)頁面主要用到的控件

(3)在LeaveWord.aspx頁面中,首先創(chuàng)建公共類DataOperate和LeaveWordOperate的對(duì)象,以便調(diào)用其中的方法,代碼如下:
例程30 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

LeaveWord.aspx頁面的后臺(tái)代碼中自定義了一個(gè)Bind方法,該方法用來從數(shù)據(jù)庫中查找留言信息,并顯示在DataList控件中。Bind方法的實(shí)現(xiàn)代碼如下:
例程31 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

LeaveWord.aspx頁面在加載時(shí),首先設(shè)置頁面標(biāo)題和第三方組件FreeTextBox的字體,然后調(diào)用自定義方法Bind對(duì)DataList控件進(jìn)行數(shù)據(jù)綁定。LeaveWord.aspx頁面的Page_Load事件代碼如下:
例程32 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

在LeaveWord.aspx頁面中單擊“留言”按鈕,首先判斷留言主題或內(nèi)容是否為空,如果為空,彈出信息提示,否則調(diào)用LeaveWordOperate類中的AddLeaveWord方法添加留言信息。“留言”按鈕的Click事件代碼如下:
例程33 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

在LWrodInfo.aspx頁面的后臺(tái)代碼中自定義了兩個(gè)方法,分別為Bind方法和deleteInfo方法。Bind方法用來根據(jù)接收的留言編號(hào)從數(shù)據(jù)庫中查找相關(guān)回復(fù)信息,并顯示在DataList控件中。Bind方法的實(shí)現(xiàn)代碼如下:
例程34 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

deleteInfo方法用來根據(jù)指定的回復(fù)編號(hào)刪除回復(fù)信息,其實(shí)現(xiàn)代碼如下:
例程35 代碼位置:資源包\TM\03\EnterpriseWeb\User\LWordInfo.aspx.cs

LWrodInfo.aspx頁面在加載時(shí),首先設(shè)置頁面標(biāo)題和第三方組件FreeTextBox的字體,然后根據(jù)接收的留言編號(hào),從數(shù)據(jù)庫中查找其詳細(xì)信息,并顯示在相應(yīng)的Label控件中,最后調(diào)用方法Bind顯示該留言所對(duì)應(yīng)的回復(fù)信息。LWrodInfo.aspx頁面的Page_Load事件代碼如下:
例程36 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

在LWrodInfo.aspx頁面中單擊“回復(fù)”按鈕,首先判斷回復(fù)內(nèi)容是否為空,如果為空,則彈出信息提示,否則調(diào)用RevertOperate類中的AddRevert方法添加回復(fù)信息,同時(shí)調(diào)用自定義方法Bind重新顯示最新的回復(fù)信息。“回復(fù)”按鈕的Click事件代碼如下:
例程37 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

在LWrodInfo.aspx頁面中單擊“刪除”超級(jí)鏈接,首先判斷用戶是否登錄,如果已經(jīng)登錄,則判斷用戶是不是該留言的版主或管理員,如果是,則調(diào)用自定義方法deleteInfo方法刪除指定的回復(fù)信息。實(shí)現(xiàn)刪除回復(fù)信息的主要代碼如下:
例程38 代碼位置:資源包\TM\03\EnterpriseWeb\User\LeaveWord.aspx.cs

- 綜合布線設(shè)計(jì)與施工(第2版)
- Solaris 10系統(tǒng)管理
- CSS網(wǎng)頁布局與瀏覽器兼容
- Learning SaltStack
- 矛與盾:黑客攻防與腳本編程
- 分析信息:香農(nóng)、維特根斯坦、圖靈和喬姆斯基對(duì)信息的兩次分離
- 計(jì)算機(jī)網(wǎng)絡(luò)及項(xiàng)目實(shí)踐
- 地理信息系統(tǒng)分析與實(shí)踐教程
- Axure RP 9 高保真原型設(shè)計(jì)實(shí)例教程
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及應(yīng)用
- 綜合布線實(shí)訓(xùn)教程(第2版)
- 用Microsoft Project 2007構(gòu)建企業(yè)項(xiàng)目管理信息系統(tǒng)
- 深入淺出ASP.NET Core
- 兼攻之道:思科當(dāng)前贏利和長遠(yuǎn)發(fā)展的秘訣
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程