第八章 管理員頁面的實作
目前為止,Doking's BLOG基本功能已經實現了。但得管理員至高無上的“生死大權”,嚴厲管理用戶發表的筆記和回复,防止用戶在Doking's BLOG發表有危害性信息。
(1)新建空白的APS.NET VB動態頁gllogin.aspx,插入表單glfrm,再插入表格,設定如圖8-1所示。
圖8-1 gllogin的頁面設計
(2)設管理者對應的文字方塊的ID為GLY,密碼對應的文字方塊的ID為GLPASS。
(3)新增資料集gly,設為篩選,如圖8-2所示。
圖8-2 新增資料集gly
(4)點選「進階」按鈕,新增參數@GLPASS,如圖8-3所示。
圖8-3 新增參數@GLPASS
(5)在資料集gly高階對話方塊中,將SQL指令改為如圖8-4所示。
圖8-4 資料集gly進階對話框
(6)切換到程式碼視圖,在<html>標籤之前,插入如圖8-5所示的程式碼。
圖8-5 在<html>標籤之前插入程式碼
(7)儲存gllogin.aspx。
從上節中,可以看到管理員登入成功後,連結到Doking's BLOG的首頁,對學習筆記進行管理。但先前章節中,index.aspx並沒有刪除學習筆記的功能。這一節將為它添加這項功能。
(1)在表格ztre的第一行中,插入asp標籤Label1,文字為:刪除,如圖8-6所示。
圖8-6 插入asp標籤Label1
(2)右鍵選擇asp標籤Label1,選擇快速選單下的“編輯標籤”,選擇“樣式資訊”,設為不可見,如圖8-7所示。
圖8-7 設asp標籤Label1為不可見
(3)插入表單控制項下的複選框,命名為ZTID,插入表單控制項下的按鈕,ID為GLY,結果如圖8-8所示。
圖8-8 在表格ztre的設定
(4)切換到【標籤】面板下的【屬性】選項卡,展開「常規」項,在「value」項中點選動態數據,如圖8-9所示。
圖8-9 ZTID標籤屬性面板
(5)在彈出的「動態資料」對話方塊中,選擇資料集Ztre下的欄位ZTID,按下「確定」鍵,如圖8-10所示。
圖8-10 動態資料視窗
(6)在狀態列下右鍵選擇<input#ZIID>開啟快速編輯標籤窗口,在其標籤中加入程式碼:
style="visibility: <%# iif(session("GLY") <>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %>"
如圖8-11深藍色所示。
圖8-11 快速編輯<input#ZIID>標籤
(7)選擇按鈕GLY,在狀態列下右鍵選擇<input#GLY>開啟快速編輯標籤窗口,在其標籤中新增代碼:
style="visibility: <% # iif(session("GLY")<>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %>"
(8)新增「刪除記錄”伺服器行為,其設定如圖8-12所示。
圖8-12 新增「刪除記錄」伺服器行為
(9)按「確定」鍵,完成新增「刪除記錄」伺服器行為。切換到程式碼視圖找到該「刪除記錄」伺服器行為的原始程式碼,如圖8-13紅色圈所示。
圖8-13 「刪除記錄」伺服器行為的原始程式碼
(10)刪除如圖8-2-8所示的5、8、12、13、14行的程式碼,將第10行中Debug的值true改為false,新增行為:id=“del1”,修改後如圖8-14紅色圈所示。
圖8-14 修改後「刪除
記錄」del1伺服器行為的原代碼(11)複製圖8-2-9紅色圈中所示的代碼,即複製修改後「刪除記錄」del1伺服器行為的原代碼,把它貼到適當位置,改id為”del2”,如圖8-15所示。
圖8-15 新增del2「刪除記錄」伺服器行為
(12)在頁面載入觸發的事件page_load中插入如圖8-16紅色圈所示的程式碼。
圖8-16 在頁面載入觸發的事件page_load中插入的程式碼
筆記回覆管理與學習筆記管理的道理和方法是一致的。
(1)開啟index.aspx,複製asp標籤Label1、表單控制項ZTID和按鈕GLG,開啟hf.aspx,把這三個控制項貼到如圖8-17所示的位置,把表單控制項ZTID的ID改為HFID。
圖8-17 給hf.aspx貼上控制項
(2)選擇複選框HFID,切換到【標籤】面板下的【屬性】選項卡,展開「常規」項,在「value」項中點選動態數據,在彈出的「動態資料」對話方塊中,選擇資料集Hfre下的欄位HFID,按下「確定」鍵,如圖8-18所示。
圖8-18 動態資料視窗
(3)複製index.aspx 中的「del1」刪除記錄服務行為的原始程式碼,並貼上到hf.aspx。
(4)給hf.aspx頁面中的頁面載入觸發事件page_load插入如圖8-19紅色圈所示的程式碼。
圖8-19 給h頁面載入觸發事件page_load插入程式碼
(5)找到表單yhplfrm的原始程式碼,將其移到表格ztre標籤之前,結果如圖8-20所示。
圖8-20 移動表單yhplfrm的標籤
(6)在表格Hftab標籤之前插入如圖8-21紅色圈所示的程式碼。
圖8-21 在表格Hftab標籤之前插程式碼
(7)將表單yhplfrm結束標籤</form>移到表格ztre標籤之後,在表格Hftab標籤之後插入如圖8-22紅色圈所示的程式碼。
圖8-22 在表格Hftab標籤之後插代碼
提醒:這裡還有一個管理員退出登入的問題,那就留給讀者動動腦筋。提示一下,只要設session(“GLY”) 為空值或空字符串就可以了。