国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

Dreamweaver構建Blog全程實錄(7)-用戶登錄的實現

2024-04-27 13:54:39
字體:
來源:轉載
供稿:網友

第七章  Doking's BLOG用戶登錄頁面的實現

  已完成用戶的注冊,用戶現在可以登錄到網站中,發表筆記、筆記回復。

7.1  用戶登錄服務器行為

  用戶登錄,經過驗證正確,頁面換了個用戶登錄后的面貌。

 ?。?)打開模板bkblog.dwt.aspx,在左邊欄插入表格yhtab,并設計如圖7-1黑色圈中所示。

 ?。?)插入關于YH表查詢的數據集yhlog,以驗證用戶登錄的正確。

 ?、賹祿痽hlog設為篩選,如圖7-2所示。

圖7-1  表格yhtab的設計圖   

 圖7-2  插入數據集yhlog

  ②點擊“高級”按鈕,切換到高級數據集模式,如圖7-3所示。

圖7-3  插入數據集yhlog

 ?、埸c擊參數“+”,彈出“編輯參數”對話框,填寫名稱為“@Logpas”,類型選擇“WChar”,如圖7-4所示。

圖7-4  添加參加Logpass

  ④點擊“建立”按鈕,彈出“生成值”對話框,名稱為“Logpass”,源選擇“表單變量”,如圖7-5所示。

圖7-5  生成值對話框

  ⑤單擊“確定”保存設置,一直回到數據集yhlog對話框。修改SQL語句,修改結果如圖7-6所示。

圖7-6  對數據集yhlog進行修改

  (3)在<html>標簽之前,插入如圖7-7紅色圈所示的代碼。

圖7-7  定義函數uselog

 ?。?)拖拉模板bkblog.dwt.aspx中的數據集yhlog下的字段YHNAME到頁面任何位置,再拖拉數據集yhlog下的字段YHID在其后,代碼如下:

<%# yhlog.FieldValue("YHNAME", Container)  %><%# yhlog.FieldValue("YHID", Container)  %>

  把上面代碼改為:

<%# uselog(yhlog.FieldValue("YHNAME", Container),yhlog.FieldValue("YHID", Container)) %>

  (5)插入關于ZT表查詢的數據集bjre,返回該用戶發表的學習筆記總數。

 ?、賹祿O為“篩選”,篩選字段為:YHID,篩選方式為:輸入值,如圖7-8所示。

圖7-8  插入數據集bjre

  ②點擊“高級”,切換到高級數據集模式,將SQL修改成如圖7-9所示。

圖7-9  修改數據集bjre

  ③點擊“編輯”按鈕,在文本域中把YHID改為session(”USEID”),結果如圖7-10所示。

圖7-10  編輯數據集bire的參數

 ?、馨础按_定”鍵,再按“確定”鍵完成數據集bire。

 ?。?)插入關于HF表查詢的數據集plre,返回該用戶發表的學習筆記總數。除了查詢表不同外,其他設置與數據集bjre相同(可以先復制粘貼數據集plre,再進行修改)。

 ?。?)拖拉數據集bjre下的字段EPRl100到表格yhtab中的“發表筆記:”之后;拖拉數據集plre下的字段Eprl100到表格yhtab中的“發表回復:”之后。

 ?。?)把光標移到表格yhtab中的“用戶信息”之前,點擊asp.net快捷菜單下的“綁定數據”,結果如圖7-11所示。

圖7-11  插入綁定數據

  保持光標在圖71紅色垂直線的位置,輸入:session(“USENAME”)

 ?。?)返回設計視圖,給表格yhtab中的“發表新筆記”建立超級鏈接:../ztfb.aspx

  給表格yhtab中的“修改資料”建立超級鏈接:../yhsg.aspx

  結果如圖7-12所示。

圖7-12  表格yhtab的修改

 ?。?0)選擇表格yhtab,返回代碼視圖,按“Ctrl+X”或在【編輯】菜單中選擇“剪切”,老方法:把它粘貼到新建立的記事本或Word文檔中。

  (11)返回設計視圖,選擇表格logtab,把光標移至如圖7-13所示的紅色垂直線的位置。

圖7-13  移至光標所在位置

 ?。?2)輸入代碼,如圖7-14紅色圈中所示。

圖7-14  在標簽<form>之前插入代碼

 ?。?3)把光標移到Yhlogfrm結束標簽</form>之后,輸入代碼,如圖7-15紅色圈中所示。

圖7-15  標簽</form>之后插入代碼

  (14)把第7步中剪切的表格yhtab粘貼在代碼<%end  if%>代碼之前,<% else %>之后。

 ?。?5)保存模板bkblog.dwt.aspx。打開所有基本于bkblog.dwt.aspx模板建立的網頁,分別在【服務器行為】中把bkblog.dwt.aspx模板中新添加的數據集yhlog、bjre、plre,復制、粘貼過來。再插入如第3步驟的代碼,就OK了!

 ?。?6)在IE瀏覽器中瀏覽index.aspx,用戶登錄前如圖7-16所示,用戶登錄成功如圖7-17所示。記得ASP.NET是不支持gb2312編碼傳輸,要進行修改,上一章中已說過了,以后不再哆嗦。

圖7-16  用戶登錄前

圖7-17  用戶登錄后

  提醒:為了方便讀者學習,教程分成模塊來寫。實際上一開始就得在模板中所有功能做好,特別是在模板必須插入的數據集及頁頭載入程序,因為這些在后期修改后不能更新網頁。

7.2  用戶發表回復信息

  用戶登錄后,就可以對 各學習筆記發表回復信息。

 ?。?)打開hf.aspx,插入表單yhplfrm,再插入表格Hftab,在表格中插入服務器文本框控件,ID為HFNAME;插入服務器文本區域控件,ID為HFTEXT;插入“發表”按鈕,ID為plbottom,將其設為禁用,結果如圖7-18所示。

圖7-18  表格Hftab的有關設計

 ?。?)綁定數據session(“usename”)到表格Hftab中的“姓名:”之后(方法如7.1第8步驟綁定“用戶信息”前的用戶名)。

 ?。?)拖拉數據集Ztre下的字段ZTNAME到文本框HFNAME,在文本框HFNAME的屬性窗口中,把初始值:

<%# Ztre.FieldValue("ZTNAME", Container) %>

  改為:

<%#  “RE:”&Ztre.FieldValue("ZTNAME", Container) %>

  (5)選擇按鈕plbottom,右鍵選擇狀態欄< input # plbottom>,在彈出快捷菜單中選擇“編輯標簽”,如圖7-19所示。

圖7-19  選擇< input # plbottom>快捷編輯標簽

  (6)在彈出的< input # plbottom>快捷編輯標簽中把:

disabled=”true”

  改為:

disabled=<%# iif((session("USENAME")<>nothing),false,true) %>

  結果如圖7-20所示。

圖7-20  快捷< input # plbottom>編輯標簽

  即設按鈕plbottom,當用戶登錄前為禁用,用戶登錄后為可用。

 ?。?)添加插入記錄服務器行為,提交值來自表單yhplfrm,選擇插入表格為HF,其他設置如圖7-21所示。

圖7-21  添加插入記錄服務器行為

  在圖7-21中,可以看到字段HFID、HFTIME、YHID、ZTID沒有獲取值。字段HFID是自動編號,數據庫會自動給記錄添加數值;字段HFTIME在access中已設默認值為date(),所以數據庫會自動給新增加的記錄添加當天日期。那字段YHID就是登錄用戶的ID碼,字段ZTID就是要發表的筆記ID。所以要把登錄用戶的ID碼添加到字段YHID中,要發表的筆記ID碼添加到字段ZTID中。

  (5)返回到代碼視圖,找到插入記錄(dkconn,HF)的代碼,如圖7-22黑色已選擇部分。

圖7-22  找到插入記錄(dkconn,HF)的代碼

  (6)把代碼:

CommandText='<%# "INSERT INTO HF (HFNAME, HFTEXT) VALUES (?, ?,)" %>'

  改為:

CommandText='<%# "INSERT INTO HF (HFNAME, HFTEXT, ZTID, YHID) VALUES (?, ?, ?, ?)" %>'

 ?。?)按次序添加參數:

<Parameter  Name="@ZTID"  Value='<%# Ztre.FieldValue("ZTID", Container)  %>'  Type="Integer"   />

       <Parameter  Name="@YHID"  Value='<%# SESSION("USEID")  %>'  Type="Integer"   />

  結果如圖7-23所示。

圖7-23  插入記錄(dkconn,HF)代碼的修改結果

 ?。?)在發布回復信息前,得對回復標題和回復的內容進行驗證,防止發布空標題或空內容的回復信息。參照6.2節中插入RequiredFieldValidato驗證控件方法,分別給文本框HFNAME、文本區域控件HFTEXT添加RequiredFieldValidato驗證控件。

  (9)用戶發布回復信息時,還得給學習筆記的回復總數自動增加1,也就是給ZT表下的HFZS字段自動增加1。

 ?、僭凇痉掌餍袨椤棵姘逯校迦搿案掠涗洝狈掌餍袨?,設更新表格為ZT,暫時設提交值,來自表單yhplfrm,暫時設:‘HFZS’從‘HFTEXT’獲取值(作為‘Integer’);暫時設:‘ZTID’將‘HFTEXT’ 用作‘Integer’來選擇記錄

  ②為什么全是暫時的?那是為了先讓Dreamweaver自動生成一些代碼,后方便修改。先切換代碼視圖,找到更新記錄(dkconn,ZT)的原代碼,找到其中的代碼:

<Parameter Name="@HFZS" Value='<%# IIf((Request.Form("HFTEXT") <> Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" /> 

<Parameter Name="@ZTID" Value='<%# IIf((Request.Form("HFTEXT") <> Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" /> 

  把它改為:

<Parameter Name="@HFZS" Value='<%# Ztre.FieldValue("HFZS", Container)+1 %>' Type="Integer" />

<Parameter Name="@ZTID" Value='<%#  session("ztanw") %>' Type="Integer" />

  (10)保存hf.aspx。

7.3  用戶發表學習筆記

  用戶登錄后,除了可以發表回復信息外,還可以發表新的學習筆記。

 ?。?)新建由模板bkblog.dwt.aspx生成動態網頁ztfb.aspx,在mainbody可編輯區域中插入一列五行的表格ztfb。

  (2)添加數據集zthb,設篩選為YHID,并設參數為階段變量USENAME,其設計如圖7-24所示。

圖7-24  添加數據集zthb

 ?。?)拖拉數據集下的有關字段到表格ztfb中,方法參照第4.2節的方法。

 ?。?)打開hf.aspx,復制表單yhplfrm,把它粘貼到網頁ztfb.aspx中的表格zthb的第五行,清空文本框HFNAME,并進行必要的修改,結果如圖7-25所示。

圖7-25  表格ztfb的設計

 ?。?)把文本框HFNAME改名為ZTNAME,文本區域HFTEXT改名為ZTTEXT。

  (3)設表格zthb的第一、二、三行為數據集zthb的重復區域,再在表格的第四行中插入數據集導航。

 ?。?)插入列表/菜單LMID,點擊其屬性窗口中的列表值,在彈出的列表值對話框中,輸入項目標簽為:設計項;值為:1,按“確定”鍵,如圖7-26所示。

圖7-26  LMID列表值對話框

 ?。?)保持列表/菜單LMIDl在選,切換到代碼視圖,找到列表/菜單LMID的原代碼,拖拉數據集menuda下的字段LMID,替換value等于號的數據1,如圖7-27所示。

圖7-27  拖拉數據集menuda下的字段LMID

 ?。?)拖拉數據集menuda下的字段LM,替換“設計項”,結果如圖7-28所示。

圖7-28  拖拉數據集menuda下的字段LM

  (7)選擇圖7-3-5紅色圈中的代碼,并把它定義為數據集menuda的重復區域,結果如圖7-29所示。

圖7-29  定義列表中的數據集menuda重復區域

 ?。?)添加“插入記錄”服務器行為,其設置如圖7-30所示。

圖7-30  添加“插入記錄”服務器行為

  (9)切換到代碼視圖,找到插入記錄(dkconn,ZT)的原代碼,找到代碼:

CommandText='<%# "INSERT INTO ZT (LMID, ZTNAME, ZYTEXT) VALUES (?, ?, ?)" %>'

  改為:

CommandText='<%# "INSERT INTO ZT (LMID, ZTNAME, ZYTEXT,YHID) VALUES (?, ?, ?, ?)" %>'

  (10)添加參數:

<Parameter Name="@YHID" Value='<%# session("USEID") %>' Type="Integer" />

  結果如圖7-31所示。

圖7-31  插入記錄(dkconn,ZT)修改的原代碼

7.4  修改用戶資料

  修改用戶資料頁面設計與用戶注冊頁面設計基本相同。

 ?。?)打開注冊頁面yhlogok.aspx,把它另存為yhsg.aspx,并進行適當的修改,結果如圖7-32所示。

圖7-32  yhsg.aspx頁面設計

 ?。?)刪除“插入記錄(dkconn,YH)”服務器行為,添加數據集yhsg,如圖7-33所示。

圖7-33  插入數據集yhsg

 ?。?)綁定數據集yhsg下的有關字段到相應的文本框中,結果如圖7-34所示。

圖7-34  綁定動態文本到有關文本框中

 ?。?)添加更新記錄服務器行為,暫時設:’YHID’將’YHNAME’用作’Integer’來選擇記錄,結果如圖7-35所示。

圖7-35  添加更記錄服務器行為

 ?。?)在更記錄的原代碼中,找到代碼:

<Parameter Name="@YHID" Value='<%# IIf((Request.Form("YHNAME") <> Nothing), Request.Form("YHNAME"), "") %>' Type="Integer" /> 

  將其改為:

<Parameter Name="@YHID" Value='<%# IIf((Not Session("USEID") Is Nothing), Session("USEID"), "") %>' Type="Integer" /> 

 ?。?)保存yhsg.aspx。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河池市| 罗甸县| 大港区| 淮滨县| 茂名市| 康平县| 金川县| 广安市| 宣城市| 襄汾县| 临猗县| 名山县| 潼关县| 定安县| 福鼎市| 宜昌市| 会宁县| 丁青县| 山西省| 本溪| 泸西县| 新宁县| 杭锦后旗| 宣武区| 同江市| 兴业县| 永平县| 恩平市| 太原市| 清新县| 佛教| 千阳县| 安达市| 中阳县| 红河县| 元阳县| 崇左市| 长海县| 洛川县| 重庆市| 通许县|