日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dreamweaver构建Blog全程实录

發(fā)布時(shí)間:2023/12/18 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dreamweaver构建Blog全程实录 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

BLOG,就是“網(wǎng)絡(luò)日志(Web Log)”。Blog通常是由簡短且經(jīng)常更新的Post所構(gòu)成;這些張貼的文章都按照年份和日期排列。Blog的內(nèi)容和目的有很大的不同,從對(duì)其他網(wǎng)站的超級(jí)鏈接和評(píng)論,有關(guān)公司、個(gè)人、構(gòu)想的新聞到日記、照片、詩歌、散文,甚至科幻小說的發(fā)表或張貼都有。許多Blog是個(gè)人心中所想之事情的發(fā)表,其它Blog則是一群人基于某個(gè)特定主題或共同利益領(lǐng)域的集體創(chuàng)作。

本文將使用Dreamweaver MX 2004 + Asp.net + Access組合,通過一個(gè)完整實(shí)用的例子,向讀者介紹如何無需編寫代碼,制作“五臟俱全”的Blog。

?

Blog實(shí)例效果圖

了解Doking’s BLOG功能和開發(fā)目的之后,接下來就是構(gòu)建好開發(fā)環(huán)境。

2.1? ASP.NET運(yùn)行環(huán)境的構(gòu)建

  在開始開發(fā)Doking’s BLOG前,應(yīng)該先構(gòu)造好開發(fā)環(huán)境。下面介紹的是在Windows 2000/XP操作系統(tǒng)中的構(gòu)建方法。

  2.1.1 安裝IIS服務(wù)器

  按【開始】→【控制面板】→【安裝/刪除Windows組件】,勾選“安裝Internet信息服務(wù)組件”,如圖2-1所示。

圖2-1? windows組件向?qū)?duì)話框

  2.1.2 在IIS服務(wù)器上,給Doking’s BLOG安上新家

  (1)首先在D:/下新建目錄“dkblog”,打開【控制面板】→【管理工具】→【Internet 服務(wù)管理器】,打開【Internet信息服務(wù)】對(duì)話框,如圖2-2所示。

圖2-2? Internet信息服務(wù)對(duì)話框

  (2)右鍵單擊“默認(rèn)Web站點(diǎn)”,選擇屬性,打開【默認(rèn)Web站點(diǎn)屬性】對(duì)話框,在對(duì)話框中,單擊【主目錄】選項(xiàng)卡,把本地路徑指向“D:/dkblog”,在“執(zhí)行許可(P):”下拉菜單中選擇“腳本和可執(zhí)行程序”,結(jié)果如圖2-3所示。

圖2-3? 站點(diǎn)屬性對(duì)話框

  (3)現(xiàn)在,電腦終于可以在像網(wǎng)絡(luò)服務(wù)一樣提供WWW服務(wù)了,默認(rèn)網(wǎng)址:localhost或電腦的IP地址(如:127.0.0.1)。

  提醒:大家可不要小看Internet服務(wù)器的管理,如果能合理分配好IP地址和站點(diǎn)虛擬目錄,也能讓電腦真正成為網(wǎng)絡(luò)服務(wù)器,也能讓網(wǎng)絡(luò)上的用戶瀏覽電腦上的網(wǎng)站和數(shù)據(jù)庫。

  2.1.3 安裝.NET框架

  大家可以在微軟的網(wǎng)上下載.NET Framework 2.0和相應(yīng)版本的SDK工具包,也可以從下面網(wǎng)址下載安裝:

  .NET Framework Version 2.0 Redistributable Package Beta 1 (x86) – 24M
http://go.microsoft.com/fwlink/?linkid=30093&clcid=0x409

  .NET Framework 2.0 SDK Beta 1 x86 – 229M
http://www.microsoft.com/downloads/details.aspx?familyid=916EC067-8BDC-4737-9430-6CEC9667655C&displaylang=en

  打開IE瀏覽器,在地址欄上打上“l(fā)ocalhost/text.aspx”,假定text.aspx這個(gè)文檔現(xiàn)在不存在,那么IE瀏覽器上一定會(huì)返回錯(cuò)誤信息,如果出現(xiàn)如圖2-4所示的錯(cuò)誤信息,說明我ASP.NET的運(yùn)行環(huán)境基本構(gòu)建完畢。

圖2-4? 找不著文件錯(cuò)誤信息

  2.1.4 在Windows 2003操作系統(tǒng)中構(gòu)建ASP.NET運(yùn)行環(huán)境

  上面介紹的是在Windows 2000/XP操作系統(tǒng)中構(gòu)建ASP.NET運(yùn)行環(huán)境的步驟和方法。在Windows 2003操作系統(tǒng)中構(gòu)建ASP.NET運(yùn)行環(huán)境主要有以下兩種方法:

  1.使用【配置您的服務(wù)器向?qū)А堪惭bIIS 6.0和ASP.NET

  (1)從【開始】菜單,單擊“管理您的服務(wù)器”。
  (2)在“管理您的服務(wù)器角色”下,單擊【添加或刪除角色】。
  (3)閱讀“配置您的服務(wù)器向?qū)А敝械念A(yù)備步驟,然后單擊“下一步”。
  (4)在“服務(wù)器角色”下,單擊“應(yīng)用程序服務(wù)器(IIS,ASP.NET)”,然后單擊“下一步”。
  (5)在【應(yīng)用程序服務(wù)器選項(xiàng)】對(duì)話框中,選中“啟用ASP.NET”復(fù)選框,單擊“下一步”,然后再單擊“下一步”。
  (6)閱讀概要信息,然后單擊“下一步”。
  (7)單擊“完成”。

  2.使用【控制面板】安裝IIS 6.0和ASP.NET

  (1)從【開始】菜單,單擊【控制面板】。
  (2)雙擊【添加或刪除程序】。
  (3)單擊【添加/刪除Windows組件】。
  (4)在“組件”列表框中,單擊“應(yīng)用程序服務(wù)器”。
  (5)單擊“詳細(xì)信息”。
  (6)單擊“Internet信息服務(wù)管理器”。
  (7)單擊“詳細(xì)信息”以查看IIS可選組件的列表。
  (8)選擇要安裝的所有可選組件。
  (9)單擊“確定”,直到返回到【W(wǎng)indows 組件向?qū)А俊?br />  (10)單擊“下一步”,然后完成【W(wǎng)indows 組件向?qū)А俊?/p>

  另外,可以在運(yùn)行Windows 2003的服務(wù)器中的 IIS 管理器中直接啟用ASP.NET,具體步驟如下:

  (1)從【開始】菜單中,單擊“運(yùn)行”。
  (2)在【運(yùn)行】對(duì)話框中的【打開】框中,鍵入inetmgr,然后單擊“確定”。
  (3)在IIS管理器中,展開本地計(jì)算機(jī),然后單擊“Web服務(wù)擴(kuò)展”。
  (4)在右側(cè)窗口中,右鍵單擊“ASP.NET”然后單擊“允許”。ASP.NET的狀態(tài)變?yōu)椤霸试S”。

2.2? 建立Doking’s BLOG 站點(diǎn)

  在構(gòu)建好ASP.NET運(yùn)行環(huán)境之后,可以開始著手開發(fā)Doking’s BLOG網(wǎng)站了。首先,必須在Dreamweaver MX中建立Doking’s BLOG站點(diǎn)。

  2.2.1 建立Doking’s BLOG站點(diǎn)

  (1)啟動(dòng)Dreamweaver MX 2004,切換到【文件】面板,單擊“管理站點(diǎn)”,單擊按鈕“新建”,如圖2-5所示。

圖2-5? 管理站點(diǎn)對(duì)話框

  (2)在其下接菜單中,選擇“站點(diǎn)(S)”,在彈出對(duì)話框中,輸入站點(diǎn)名字“dkblog”,結(jié)果如圖2-6所示。

圖2-6? 定義站名字

  (3)單擊“下一步”,選擇“是,我想使用服務(wù)器技術(shù)。(Y)”,在“哪種服務(wù)器技術(shù)?(W)”下拉菜單中,選擇“ASP.NET VB”,結(jié)果如圖2-7所示。

圖2-7? 確定服務(wù)器技術(shù)

  (4)單擊“下一步”,選擇“在本地進(jìn)行編輯和測試(我的測試服務(wù)器是這臺(tái)計(jì)算機(jī))(E)”,把文件存儲(chǔ)指向“D:/dkblog”,如圖2-8所示。

  (5)單擊“下一步”,輸入U(xiǎn)RL地址“http://localhost/”,單擊按鈕“測試URL(I)”,如果測試成功,會(huì)顯示如圖2-9一樣的對(duì)話框。

圖2-8? 指定網(wǎng)站的目錄位置

圖2-9? 測試對(duì)話框

  (6)單擊“下一步”,再單擊“下一步”,單擊按鈕“完成”,完成站點(diǎn)的建立。

  2.2.2 部署Doking’s BLOG站點(diǎn)

  (1)先來看Doking’s BLOG網(wǎng)站的布局,根目錄存放.aspx、.htm文件;bin目錄是用于部署DreamweaverCtrls.dll控件;dat目錄用于存放數(shù)據(jù)庫;images目錄存放有關(guān)圖片文件。在打開文件面板,在“站點(diǎn)—dkblog”下分別新建目錄bin、目錄dat、目錄images,結(jié)果如圖2-10所示。

  (2)在【文件】菜單中,選擇【新建】,在【新建對(duì)話框】中,選擇類別為“動(dòng)態(tài)頁”,選擇動(dòng)態(tài)頁為“ASP.NET VB”,按“創(chuàng)建”按鈕創(chuàng)建第一個(gè)動(dòng)態(tài)網(wǎng)頁。切換到【應(yīng)用程序】面板,選擇【綁定】選項(xiàng)卡,如圖2-11所示。

  

圖2-10? 站點(diǎn)的布局???????????????? 圖2-11? 綁定對(duì)話框

  (3)點(diǎn)擊“部署”二字,在彈出對(duì)話框中把部署目錄指向“D:/dkblog/bin/”,如圖2-12所示。

  (4)點(diǎn)擊“部署”按扭,彈出如圖2-13的對(duì)話框,按“確定”按鈕將它關(guān)閉。

圖2-12? 部署設(shè)置對(duì)話框

?

圖2-13? 部署文件對(duì)話框

  提醒:切記DreamweaverCtrls.dll文件名稱及其所在目錄bin名稱不能更改,并且bin文件夾必須保存在站點(diǎn)的根目錄下。

?

3.1 數(shù)據(jù)庫的規(guī)范化

  數(shù)據(jù)庫的規(guī)范化主要體現(xiàn)在表與表之間的關(guān)系、數(shù)據(jù)結(jié)構(gòu)及存儲(chǔ)兩大方面。

  3.1.1 數(shù)據(jù)表之間的關(guān)系

  許多初學(xué)者常常認(rèn)為,建立一個(gè)表儲(chǔ)存所有數(shù)據(jù)就可以了。如果這么認(rèn)為,那經(jīng)常會(huì)造成數(shù)據(jù)冗余的。圖3-1-1是一個(gè)數(shù)據(jù)表,可以看到畫在紅色圈中的數(shù)據(jù)是冗余的。

圖3-1-1? 一個(gè)數(shù)據(jù)表

  冗余數(shù)據(jù)會(huì)影響數(shù)據(jù)庫的有效運(yùn)行,甚至可以把數(shù)據(jù)庫推毀。為減少冗余數(shù)據(jù),得把數(shù)據(jù)分開儲(chǔ)存成幾個(gè)表,并建立表與表之間的連接關(guān)系。表與表之間的連接關(guān)系,主要有一對(duì)多、多對(duì)多、一對(duì)一三種方式。

  一對(duì)多關(guān)系,它是數(shù)據(jù)庫中最普通的關(guān)系類型。這種關(guān)系雙被稱為是父表與子表關(guān)系或主表與分表關(guān)系。圖3-1-2就體現(xiàn)了一種父表與子表關(guān)系。在這里,專題表與回復(fù)表就是一對(duì)多的關(guān)系。專題表是父表,回復(fù)表是子表,專題表中的一行在回復(fù)表可有零行、一行或許多與之對(duì)應(yīng),而回復(fù)表中的每一行都與專題表中的相應(yīng)的專題對(duì)應(yīng)。

圖3-1-2?? 一對(duì)多關(guān)系

  多對(duì)多關(guān)系,就是第一張表的每一行可對(duì)應(yīng)第二張表的許多行,同樣地,第二張表中的每行也可與第一第表中的許多行相對(duì)應(yīng)。例如,一個(gè)專題可以有許多用戶回復(fù),一個(gè)用戶也可以作多次專題回復(fù)。這就需要建立第三張表,將專題代碼與用戶代碼連接,這個(gè)表就是前兩個(gè)表的父表。在圖3-1-3中,“回復(fù)表”就是“專題表”與“用戶表”的父表。

圖3-1-3? 多對(duì)多關(guān)系

  一對(duì)一的關(guān)系,就是將一個(gè)表中的行與另一表中的行連接來。這種關(guān)系非常少見,因?yàn)槿缡怯械脑?#xff0c;還不如把這兩個(gè)表合為一張表更為合理。

  3.1.2 數(shù)據(jù)結(jié)構(gòu)與儲(chǔ)存

  數(shù)據(jù)庫的物理結(jié)構(gòu)必須基于邏輯結(jié)構(gòu)建立的,在設(shè)計(jì)表格、字段和關(guān)系時(shí)就需記住一些規(guī)則。行與列的順序并不起什么作用,雖然在數(shù)據(jù)表中,列會(huì)有一定的順序位置,但它們并不以此來代表引用順序。記錄的順序只有在它們從數(shù)據(jù)表中取出并送給用時(shí)才起作用。SQL會(huì)通過參數(shù)數(shù)據(jù)庫索引來處理記錄的提取順序。例如,在數(shù)據(jù)表中,把性別字段放在姓名字段之前,這個(gè)錯(cuò)誤沒什么,只要在采用SQL語句調(diào)用這個(gè)數(shù)據(jù)表時(shí),記得把姓名字段調(diào)到性別字段之前就可以了。

  設(shè)計(jì)數(shù)據(jù)表時(shí),分配字段大小要慎重,在夠用的情況下,能省就省。如果字段用于儲(chǔ)存整數(shù),請(qǐng)用整數(shù)或長整數(shù),不用單精度或雙精度,如果夠用的話,最好建立100字符的文本類型字段,而不要采用備注字段。為什么?如果你不怕高昂的服務(wù)器費(fèi)用、不怕網(wǎng)絡(luò)數(shù)據(jù)庫運(yùn)行緩慢,你大可不必理會(huì)這些,但它最嚴(yán)重會(huì)導(dǎo)致數(shù)據(jù)庫崩潰。

3.2? Doking’s BLOG數(shù)據(jù)庫的設(shè)計(jì)

  基于上述數(shù)據(jù)庫規(guī)范化的知識(shí),這節(jié)開始規(guī)劃設(shè)計(jì)Doking’s BLOG數(shù)據(jù)庫。Doking’s BLOG數(shù)據(jù)庫中設(shè)計(jì)了五個(gè)數(shù)據(jù)表,分別是LM表(欄目表)、ZT表(學(xué)習(xí)筆記表)、HF表(回復(fù)表)、YH表(用戶表)、GLY表(管理員表),并把數(shù)據(jù)庫命名為“dkblog.mdb”,保存在“D:/dat/”目錄下。

  LM表即欄目表,用于網(wǎng)站導(dǎo)航條建立和學(xué)習(xí)筆記的歸類,欄目內(nèi)容是由網(wǎng)站的管理員設(shè)計(jì)的,其字段設(shè)計(jì)如圖3-2-1所示

圖3-2-1? LM表的字段設(shè)計(jì)圖

  ZT表即學(xué)習(xí)筆記表,是用于儲(chǔ)存用戶發(fā)表學(xué)習(xí)心得,其實(shí)字段設(shè)計(jì)如圖3-2-2所示:

圖3-2-2? ZT表的字段設(shè)計(jì)圖

  HH表即回復(fù)表,儲(chǔ)存著用戶對(duì)已發(fā)表的學(xué)習(xí)筆記的回復(fù),其字段如圖3-2-3所示:

圖3-2-3? HF表的字段設(shè)計(jì)圖

  YH表即用戶表,儲(chǔ)存著用戶的注冊(cè)信息,方便用戶登錄發(fā)表學(xué)習(xí)筆記和學(xué)習(xí)筆記的回復(fù)。其字段設(shè)計(jì)如圖3-2-4所示:

圖3-2-4? YH表的字段設(shè)計(jì)圖

  GLY表即管理員表,用于管理員登錄,管理網(wǎng)站,其字段設(shè)計(jì)如圖圖3-2-5

圖3-2-5? GLY表的字段設(shè)計(jì)圖

?3.3 創(chuàng)建Doking’s BLOG數(shù)據(jù)庫連接源
?

  (1)啟動(dòng)Dreamweaver MX 2004,在【文件】菜單中,選擇【新建】,在【新建對(duì)話框】中,選擇類別為“動(dòng)態(tài)頁”,選擇動(dòng)態(tài)頁為“ASP.NET VB”,按“創(chuàng)建”按鈕,創(chuàng)建一個(gè)動(dòng)態(tài)網(wǎng)頁。

  (2)切換到【應(yīng)用程序】面板,選擇【數(shù)據(jù)庫】選項(xiàng)卡,單擊“+”號(hào),選擇“OLE DB連接”,如圖3-3-1所示:

圖3-3-1 選擇OLE DB連接

  (3)在彈出【OLE DB連接】對(duì)話框中,輸入連接名稱“dkconn”,單擊“建立”按鈕,如圖3-3-2所示:

圖3-3-2? 設(shè)置連接名稱

  (4)進(jìn)入【數(shù)據(jù)連接屬性】頁面,選擇【選擇程序】選項(xiàng)卡,由于要連接的數(shù)據(jù)庫是Access2003的數(shù)據(jù)庫,所以在數(shù)據(jù)庫引擎中選擇“Microsoft Jet 4.0 OLE DB Provider”作為驅(qū)動(dòng)程序,如圖3-3-3所示:

圖3-3-3 選擇數(shù)據(jù)庫引擎

  (5)選擇【連接】選項(xiàng)卡,選擇要連接數(shù)據(jù)庫為“D:/dkblog/dat/dkblog.mdb”,把“用戶名”和“密碼”的文本框清空,如圖3-3-4

圖3-3-4 選擇連接數(shù)據(jù)庫

  (6)選擇【高級(jí)】選項(xiàng)卡,在設(shè)置訪問權(quán)限中,選擇“ReadWrite”,如圖3-3-5所示

圖3-3-5? 設(shè)置訪問權(quán)限

  (7)返回【連接】選項(xiàng)卡,單擊“測試”按鈕,出現(xiàn)如圖3-3-6對(duì)話框,那說明已經(jīng)把數(shù)據(jù)庫dkblog.mdb連接到站點(diǎn)上了。單擊“確定”按鈕完成數(shù)據(jù)庫的連接工作。在站點(diǎn)的根目錄下面,可以看到增添了一個(gè)新文件“web.config”,以后可以在這個(gè)文件直接對(duì)數(shù)據(jù)庫的連接進(jìn)行修改。

圖3-3-6? 數(shù)據(jù)庫測試對(duì)話框

3.4? 連接對(duì)話框中的“建立”按鈕無效的解決

  如果您在3.3節(jié)中的第(3)步驟中單擊【建立】按鈕,【數(shù)據(jù)鏈接屬性】對(duì)話框不打開。單擊【建立】按鈕時(shí)沒有任何反應(yīng)。導(dǎo)致此問題的一個(gè)原因可能是 MDAC 2.8;XP SP2 中默認(rèn)包含著 MDAC 2.8。XP SP1 用戶如果安裝了 MDAC 2.8,則也會(huì)受到此問題的影響。此問題只影響 Dreamweaver MX 2004,而對(duì) Dreamweaver MX 沒有影響。有兩種解決方法:

  第一種方法:接3.3節(jié)中的步驟中第(3)步驟,在【OLE DB 連接】對(duì)話框中的【連接字符串】文本區(qū)域中輸入:

Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:/dkblog/dat/dkblog.mdb;Persist Security Info=False

  第二種方法:在硬盤上創(chuàng)建一個(gè)新的文本文件,將文件的擴(kuò)展名由 .txt 更改 .udl,然后打開 .udl 文件。該文件可以打開【數(shù)據(jù)鏈接屬性】對(duì)話框。其具體操作如下:

 ?、俳?.3節(jié)中的步驟中第(3)步驟。執(zhí)行【開始】|【所有程序】|【附件】|【記事本】系統(tǒng)菜單命令。

 ?、谠谟浭卤境绦蛑鞔翱谥?#xff0c;直接執(zhí)行執(zhí)行【文件】|【保存】菜單命令,在彈出【另存】對(duì)話框中的輸入文件名為數(shù)據(jù)庫連接.udl,如圖3-4-1所示。

圖3-4-1? 保存“數(shù)據(jù)庫連接.udl”

 ?、埸c(diǎn)擊【保存】按鈕,關(guān)閉記事本程序,切換到【桌面】中,雙擊“數(shù)據(jù)庫連接”這個(gè)文件,按照教程中第(4)—(7)進(jìn)行操作。單擊【確定】按鈕,關(guān)閉【數(shù)據(jù)庫鏈接】對(duì)話框。

 ?、軋?zhí)行【開始】|【所有程序】|【附件】|【記事本】系統(tǒng)菜單命令。在記事本程序主窗口中,直接執(zhí)行執(zhí)行【文件】|【打開】菜單命令,選擇“數(shù)據(jù)庫連接”為打開文件。

 ?、菰谟浭卤境绦蛑鞔翱谥?#xff0c;選擇第三行所有字符進(jìn)行復(fù)制,如圖3-4-2所示。切換到Dremweaver程序中,將其粘貼到第(3)步驟的在彈出【OLE DB連接】對(duì)話框中的【連接字符串】文本區(qū)域中,這樣就完成在Dreamweaver中的數(shù)據(jù)庫鏈接。

圖3-4-2? 復(fù)制“數(shù)據(jù)庫連接”文件中的第三行所有字符

?

4.1? 基本頁面設(shè)計(jì)

  這里,不是要談網(wǎng)頁藝術(shù)創(chuàng)造的知識(shí),而是講解在Dreamweaver MX2004中構(gòu)建網(wǎng)站內(nèi)頁的思路和方法。

  4.1.1 網(wǎng)站設(shè)計(jì)思路

  每個(gè)網(wǎng)頁開始前,一般要在Firworks或在Photoshop等圖像設(shè)計(jì)軟件中設(shè)計(jì)好基本頁面設(shè)計(jì),圖4-1-1就是Photoshop中設(shè)計(jì)好的基本頁面設(shè)計(jì)圖。

圖4-1-1? Doking’s BLOG基本頁面設(shè)計(jì)圖

  在圖4-1-1中序號(hào)①畫上紅色方圈部分的是網(wǎng)頁的左邊欄目,目前是空白的,它的欄目在以后章節(jié)中會(huì)一一添加上去的,序號(hào)②畫上紅色方圈部分的是網(wǎng)站的導(dǎo)航條,它是由第三章建立的dkblog.mdb數(shù)據(jù)庫中的LM表動(dòng)態(tài)生成的?;舅悸芬亚宄?#xff0c;開始構(gòu)建立網(wǎng)站的模板。

  4.1.2 構(gòu)建網(wǎng)站模板

  設(shè)計(jì)思路:構(gòu)建網(wǎng)站模板,統(tǒng)一網(wǎng)站網(wǎng)頁設(shè)計(jì)。網(wǎng)站的欄目菜單內(nèi)容由于數(shù)據(jù)表動(dòng)態(tài)LM生成,也方便網(wǎng)站欄目菜單內(nèi)容的修改。

  (1)打開【文件】→【新建】,打開【新文檔】的對(duì)話框,選擇“類別:”為“模板頁”,選擇“模板頁:”為“ASP.NET VB 模板”,結(jié)果如圖4-1-2所示。

圖4-1-2? 新建模板對(duì)話框

  (2)單擊“創(chuàng)建”按鈕,插入圖層,在其屬性窗口中,把ID設(shè)為“main”,把“左(L)”和“上(T)”設(shè)為0px,把“寬(W)”設(shè)為100%,把對(duì)齊方式設(shè)為居中。這樣是為了把網(wǎng)頁居中。

  (3)插入一個(gè)表格,把ID設(shè)為“bodyT”,設(shè)寬為780像素(這個(gè)是根據(jù)你的基本頁面設(shè)計(jì)圖的寬度而設(shè)計(jì)的),單位格的邊距和間距設(shè)置為0,邊框粗細(xì)設(shè)為0。

  (4)把“bodyT”表格第二行的垂直對(duì)齊方式設(shè)為頂端,再拆分為2列,第1列的寬度設(shè)為220px,第1列的寬度設(shè)為560px(分配列的寬度也是根據(jù)你的基本頁面設(shè)計(jì)圖而分配的),把第1列的背景顏色設(shè)為RGB(236,236,236)。

  (5)給“bodyT”表格的第一、三行分別插入相應(yīng)的背景圖,把第一行的的垂直對(duì)齊方式設(shè)為底部,水平對(duì)齊方式設(shè)為右邊。

  (6)還可以根據(jù)需要設(shè)計(jì)好標(biāo)題、字體大小,連接字體的顏色或或配色方案等。

  (7)建立網(wǎng)站的導(dǎo)航條。

  ?①啟動(dòng)Access2003,打開dkblog.mdb數(shù)據(jù)庫,在LM表的LM字段中按順序輸入平面設(shè)計(jì)、3D設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)編程等4個(gè)記錄,如圖4-1-3 所示。

圖4-1-3? LM表數(shù)據(jù)錄入

 ?、诜祷谼reamweaver,切換到【服務(wù)器行為】面板,單擊“+”按鈕,在下拉菜單中選擇“數(shù)據(jù)集”,如圖4-1-4所示。

圖4-1-4? 添加數(shù)據(jù)集

  ③在彈出【數(shù)據(jù)集】對(duì)話框中,輸入數(shù)據(jù)集名稱為“menuda”,在連接下拉菜單中選擇“dkconn”,在表格的下拉菜單中選擇LM表,選擇列為“全部”選項(xiàng),在排序下拉菜單中選擇字段“LMID”,設(shè)排序?yàn)樯?#xff0c;結(jié)果如圖4-1-5所示:

圖4-1-5 數(shù)據(jù)集對(duì)話框

 ?、軉螕簟皽y試”按鈕,出現(xiàn)如圖4-1-6所示的對(duì)話框,說明數(shù)據(jù)集創(chuàng)建成功,單擊“確定”按鈕完成。

圖4-1-6 數(shù)據(jù)集測試對(duì)話框

 ?、萸袚Q到【綁定】選項(xiàng)卡,展開數(shù)據(jù)集(menuda)的字段,如圖4-1-7所示:

圖4-1-7? 綁定選項(xiàng)卡

 ?、尥侠璍M字段至表格bodyT的第一行,如圖4-1-8所示:

圖4-1-8拖拉LM字段

 ?、叻砰_鼠標(biāo),這時(shí)第一行會(huì)增加一段帶陰影的字符:{menuda.LM},在其前輸入“主頁 | ”,其后輸入符號(hào)“ | 聯(lián)系我們”,結(jié)果如圖4-1-9所示:

圖4-1-9? 綁定數(shù)據(jù)到bodyT表中

  ⑧選擇帶陰影字符{menuda.LM}和后面的字符“ | ”,選擇【插入】菜單→【應(yīng)用程序?qū)ο蟆俊局貜?fù)區(qū)域】,在彈出【重復(fù)區(qū)域】的對(duì)話框中選擇數(shù)據(jù)集為“menuda”,把顯示記錄選為“所有記錄”,如圖4-1-10所示,單擊“確定”按鈕完成網(wǎng)站導(dǎo)航菜單。

圖4-1-10 重復(fù)區(qū)域?qū)υ捒?/p>

  (7)把鼠標(biāo)移到表格bodyT第二行第二列,選擇【插入】菜單→【模板對(duì)象】→【可編輯區(qū)域】,在【新建可編輯區(qū)域】對(duì)話框中,輸入名稱為“mainbody”,按下“確定”鍵,如圖4-1-11所示:

圖4-1-11? 新建可編輯區(qū)域

  這樣就完成網(wǎng)站模板的初期工作,保存模板為bkblog.dwt.aspx。

  4.1.3 首頁的頁面設(shè)計(jì)

  設(shè)計(jì)思路:完成網(wǎng)站的模板建設(shè)工作后,得以它來構(gòu)建網(wǎng)站和更新網(wǎng)站。

  (1)新建“ASP.NET VB” 動(dòng)態(tài)頁,打開【修改】菜單→【模板】→【應(yīng)用模板到頁】,在彈出的【選擇模板】對(duì)話框中,選擇模板“dkblog”,單擊“選擇”按鈕,如圖4-1-12所示:

圖4-1-12? 選擇模板

  (2)把鼠標(biāo)移到“mainbody”可編輯區(qū)域中,插入表格,設(shè)其ID為“ztre”,其實(shí)它設(shè)計(jì)成如圖4-1-13所示,這是每一個(gè)學(xué)習(xí)筆記將要顯示的內(nèi)容。

圖4-1-13? 每一個(gè)學(xué)習(xí)筆記將要顯示的內(nèi)容

4.2 插入數(shù)據(jù)集

  這一節(jié)講解的插入數(shù)據(jù)集可沒有上一節(jié)講解的那么簡單。首先看看圖4-1-13,每個(gè)學(xué)習(xí)筆記將要顯示主題、發(fā)表時(shí)間、筆記分類(即所屬分欄目)、作者(姓名)、回復(fù)(個(gè)數(shù)),再來看看ZT表其設(shè)計(jì)圖(3.2節(jié)中的圖3-2-2),只有LMID(分類欄目的ID),沒有欄目名,這個(gè)要連接LM表才能取得;只有YHID(發(fā)表者的ID),沒有作者的姓名,這個(gè)要連接YH表才能取得;其它都可以從ZT表中獲得數(shù)據(jù)?!昂脧?fù)雜啊!”其實(shí)不用擔(dān)心,在Access中就可以解決一切困難。

  4.2.1 建立數(shù)據(jù)表連接查詢

  (1)啟動(dòng)Access2003,選擇【查詢】→雙擊【在設(shè)計(jì)視圖中創(chuàng)建查詢】,在彈出的【顯示表】窗口,如圖4-2-1所示:

圖4-2-1? 添加查詢連接表

  (2)按次序分別添加LM表、ZT表、YH表, 結(jié)果如圖4-2-2所示:

圖4-2-2? 數(shù)據(jù)表連接視圖

  (3)把查詢字段設(shè)計(jì)為,如圖4-2-3所示:

圖4-2-3? 查詢字段設(shè)計(jì)圖

  (4)保存這個(gè)查詢?yōu)閆TRE,完成在Access中數(shù)據(jù)表連接查詢。

  4.2.2 插入數(shù)據(jù)集

  (1)返回到Dreamweaver,切換到【服務(wù)器行為】面板,單擊“+”按鈕,添加數(shù)據(jù)集Ztre,選擇表格為剛才在Access中新建的查詢ZTRE,其它的有關(guān)設(shè)置,如圖4-2-4所示:

圖4-2-4? Ztre數(shù)據(jù)集的設(shè)置

  (2)切換到【綁定】選項(xiàng)卡,展開數(shù)據(jù)集(Ztre),拖拉字段ZTNAME替換表格ztre中的“學(xué)習(xí)筆記主題”,拖拉字段ZTTIME替換“發(fā)表時(shí)間”,拖拉字段LM替換“分類”,拖拉字段ZYTEXT到表格ztre的第二行空白處,其他設(shè)計(jì)如圖4-2-5所示:

圖4-2-5? 綁定數(shù)據(jù)到ztre表中

  (3)切換到【服務(wù)器行為】面板,可以看已增添了許多動(dòng)態(tài)文本,雙擊動(dòng)態(tài)文本(Ztre.ZYTEXT),選格式為“編碼—HTML編碼格式”,如圖4-2-6所示:

圖4-2-6 設(shè)動(dòng)態(tài)文本格式

  (4)選擇表格ztre的第一、二、三行,并把它們定義的重復(fù)區(qū)域,其設(shè)置如圖4-2-7所示。

圖4-2-7? 定義重復(fù)區(qū)域

  這樣就完成了主頁插入數(shù)據(jù)集和數(shù)據(jù)綁定工作。

4.3 分頁顯示

  (1)選擇“首頁”,在【服務(wù)器行為】面板,單擊“+”按鈕,選擇【數(shù)據(jù)集分頁】→【移至第一頁】,如圖4-3-1所示:

圖4-3-1? 數(shù)據(jù)集分頁菜單

  (2)在彈出的對(duì)話框中,選擇數(shù)據(jù)集為Ztre,按“確定”鍵,如圖4-3-2所示:

圖4-3-2? 移至第一頁對(duì)話框

  (3)選定“前一頁”,定義為數(shù)據(jù)集分頁的“移至前一頁”;選定“后一頁”,定義為數(shù)據(jù)集分頁的“移至下一頁”;選定“最后”,定義為數(shù)據(jù)集分頁的“移至最后一頁”。

  (4)把“頁碼”改為“當(dāng)前頁碼:”在【服務(wù)器行為】面板,單擊“+”按鈕,選擇【顯示記錄記數(shù)】→【顯示當(dāng)前頁號(hào)】。

  (5)保存了index.aspx,這樣就完成了首頁的設(shè)計(jì)工作,在Access中給相應(yīng)ZT表、YH表隨便輸入幾個(gè)記錄,進(jìn)行IE瀏覽器中瀏覽(下面的章節(jié)中如無特別說明,筆記全屬于“網(wǎng)絡(luò)編程”欄目),大概如圖4-3-3所示:

圖4-3-3 首頁瀏覽圖

5.1? 筆記菜單分欄實(shí)現(xiàn)

  設(shè)計(jì)思路:修改模板bkblog.dwt.aspx中菜單分欄的超級(jí)鏈接,進(jìn)而更新所有網(wǎng)頁;打開首頁時(shí),瀏覽按時(shí)間降序方式顯示所學(xué)習(xí)筆記的內(nèi)容,點(diǎn)擊菜單分欄,又能根據(jù)分欄進(jìn)行按時(shí)間降序方式分類顯示學(xué)習(xí)筆記內(nèi)容。

  5.1.1 建立模板菜單

  (1)打開模板bkblog.dwt.aspx,選擇動(dòng)態(tài)文本(menuda.LM),創(chuàng)建超級(jí)鏈接,鏈接到首頁(index.aspx),選擇【代碼顯示視圖】,把鼠標(biāo)移至如圖5-1-1所示的紅色垂直線的地方。(下面沒有特別說明所有符號(hào)都是英文字符)

圖5-1-1? 鼠標(biāo)移至到鏈接屬性

  (2)輸入“?menanw=”(menanw就是的參數(shù)變量),切換到【綁定】面板,拖拉數(shù)據(jù)集(menuda)下的字段LMID到到剛才輸入的等于號(hào)后面,結(jié)果如圖5-1-2所示:

圖5-1-2 插入動(dòng)態(tài)屬性(a.href)

  (3)切換到【服務(wù)器行為】面板,可以看已經(jīng)增加一個(gè)服務(wù)器行為:動(dòng)態(tài)屬性(a.href),如圖5-1-3所示:

圖5-1-3 服務(wù)器行為面板

  (4)選擇“主頁”菜單,創(chuàng)建鏈接到index.aspx;選擇“聯(lián)系我們”,創(chuàng)建鏈接到mailto:wen110@21cn.com。

  (5)保存bkblog.dwt.aspx模板,這時(shí)會(huì)彈出如圖5-1-4所示的對(duì)話框。

圖5-1-4? 更新模板文件對(duì)話框。

  (6)單擊“更新”按鈕,完成筆記菜單分欄,并更新首頁index.aspx。

  5.1.2? 在首頁中實(shí)現(xiàn)分欄顯示

  (1)打開首頁index.aspx,切換到【服務(wù)器行為】面板,雙擊數(shù)據(jù)集(Ztre),在彈出的數(shù)據(jù)集對(duì)話框中,單擊“高級(jí)”按鈕,如圖5-1-5所示。選擇【SQL】文本區(qū)域中的SQL命令進(jìn)行復(fù)制,建議把它粘貼到新建立的記事本或Word文本中,它在以后步驟中將會(huì)有很大作用(熟悉SQL語言,可以跳過此步驟)。

圖5-1-5? 數(shù)據(jù)集高級(jí)對(duì)話框

  (2)單擊“簡單”按鈕,在【篩選】下拉菜單中選擇篩選字段為LMID,選“URL參數(shù)”作為參數(shù)傳遞方式,輸入?yún)?shù)變量為menanw,按“確定”鍵,結(jié)果如圖5-1-6所示:

圖5-1-6? 修改Ztre數(shù)據(jù)集為篩選

  (3)對(duì)首頁進(jìn)行IE瀏覽,瀏覽結(jié)果沒有記錄,如圖5-1-7所示

圖5-1-7? 首頁瀏覽圖

  (4)在首頁IE瀏覽中,單擊鏈接“網(wǎng)絡(luò)編程”,結(jié)果如上章的圖4-3-3所示,顯示出所有網(wǎng)絡(luò)編程的學(xué)習(xí)筆記。

  “等等,這與原先的設(shè)計(jì)思路不符合!只有按分欄顯示,不能顯示所有學(xué)習(xí)筆記!”這里還有個(gè)ASP.NET頁間數(shù)據(jù)傳遞的問題:Windows應(yīng)用程序中的各Form窗體間數(shù)據(jù)傳遞可以通過定義全局變量(Public static 變量)等方法來實(shí)現(xiàn)。而這些方法卻無法用以ASP.NET中各Web頁面數(shù)據(jù)傳遞。例如:當(dāng)點(diǎn)擊數(shù)據(jù)集導(dǎo)航條會(huì)有個(gè)Ztre_currentPage的數(shù)據(jù)傳遞,卻不能傳遞menanw的數(shù)據(jù),也就是說當(dāng)點(diǎn)擊數(shù)據(jù)集導(dǎo)航條的任何一個(gè)超級(jí)鏈接,menan傳遞的數(shù)據(jù)永遠(yuǎn)是空值,這就不能既實(shí)現(xiàn)分欄顯示,又同時(shí)進(jìn)行在分欄下的分頁顯示。這里是采取session進(jìn)行參數(shù)傳遞的方法解決。

  (5)為了把參數(shù)變量menanw傳遞給session("menanw"),切換到代碼視圖,在<html>標(biāo)簽之前,插入如圖5-1-8紅色圈中所示的代碼。

圖5-1-8? 給index.aspx插入頁面載入默認(rèn)函數(shù)

  (6)在【服務(wù)器行為】面板中選擇數(shù)據(jù)集(Ztre),如圖5-1-9所示,帶黑色部分的就是數(shù)據(jù)集(Ztre)定義代碼。

圖5-1-9? 數(shù)據(jù)集Ztre的代碼

  (7)找到代碼:

CommandText='<%# "SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME ASC" %>'

  把上面的代碼改為:

CommandText='<%# IIf(((request.QueryString("menanw")<>nothing) or Request.QueryString("Ztre_CurrentPage") <> Nothing),"SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC","SELECT * FROM ZTRE? ORDER BY ZITIME DESC") %>'

  (8)找到代碼:

<Parameter? Name="@LMID"? Value='<%# IIf((request.QueryString("menanw") <> Nothing), request.QueryString("menanw"), "") %>'? Type="Integer"?? /></Parameters></MM:DataSet>

  把上面的代碼改為:

<Parameter? Name="@LMID"? Value='<%# IIf((session("menanw") <> Nothing), session("menanw"), "") %>'? Type="Integer"?? /></Parameters></MM:DataSet>

  (9)進(jìn)行IE瀏覽,結(jié)果第四章的圖4-3-3所示。完成既定的設(shè)計(jì)思路。

  

5.2? 回復(fù)頁面的實(shí)現(xiàn)

  設(shè)計(jì)思路:能夠?qū)崿F(xiàn)點(diǎn)擊筆記的標(biāo)題,就能夠夠鏈接出一個(gè)頁面,包括這筆記和相應(yīng)所有回復(fù)。從上一節(jié),可以這已不難了,只在筆記標(biāo)題的超級(jí)鏈接上進(jìn)行這個(gè)筆記的代碼參數(shù)傳遞就可以實(shí)現(xiàn)了。

  5.2.1? 基本頁面設(shè)計(jì)

  (1)新建由模板bkblog.dwt.aspx生成的ASP.NET VB 動(dòng)態(tài)頁hf.aspx,在mainbody可編輯區(qū)域中插入表格ztre,并進(jìn)行有關(guān)設(shè)計(jì),結(jié)果如圖5-2-1所示:

圖5-2-1 表格ztre設(shè)計(jì)圖

  (2)啟動(dòng)Access2003,建立FH表、YH表連接查詢HFRE,其實(shí)連接視圖及顯示字段如圖5-2-2所示。

圖5-2-2? 查詢HFRE的有關(guān)設(shè)計(jì)

  (3)按4.2.2數(shù)據(jù)集那節(jié)中(1)-(3)步驟,添加數(shù)據(jù)集Ztre,拖拉字段到相應(yīng)位置,并進(jìn)行動(dòng)態(tài)文本(Ztre.ZYTEXT)的格式設(shè)置,結(jié)果如圖5-2-3所示:

圖5-2-3? 綁定數(shù)據(jù)到表格ztre

  (4)修改數(shù)據(jù)集Ztre為篩選,篩選字段為ZTID,選“URL參數(shù)”作為參數(shù)傳遞方式,輸入?yún)?shù)變量為ztanw。

  (5)添加數(shù)據(jù)集Hfre,篩選字段為ZTID,選“URL參數(shù)”作為參數(shù)傳遞方式,輸入?yún)?shù)變量為ztanw,結(jié)果如圖5-2-4所示:

圖5-2-4? 數(shù)據(jù)集Hfre的設(shè)計(jì)

  (6)拖拉數(shù)據(jù)集Hfre字段到表格ztre的相應(yīng)位置,設(shè)動(dòng)態(tài)文本(Htre.HFTEXT)的格式設(shè)置“編碼—HTML編碼格式”,將表格ztre的第5、6、7行,定義為重復(fù)區(qū)域,定義數(shù)據(jù)分頁到表格ztre,結(jié)果如圖5-2-5所示:

圖5-2-5? 綁定數(shù)據(jù)集Htre到表格ztre中

  (7)打開首頁index.aspx,選擇動(dòng)態(tài)文本(Ztre.ZTNAME),創(chuàng)建超級(jí)鏈接,鏈接到hf.aspx,切換到代碼視圖,把鏈接屬性改為:hf.aspx?ztanw=,拖拉數(shù)據(jù)集Ztre下的字段ZTID到等于號(hào)之后,結(jié)果如圖5-2-6所示:

圖5-2-6 在代碼中添加動(dòng)態(tài)超級(jí)鏈接

  (8)保存hf.aspx和index.asps,在Access中給相應(yīng)HF表、YH表隨便輸入幾個(gè)記錄,進(jìn)行IE瀏覽器中瀏覽index.asps,點(diǎn)出有回復(fù)的學(xué)習(xí)筆記主題,如圖5-2-7所示:

圖5-2-7? 回復(fù)頁的顯示

  (9)再點(diǎn)擊數(shù)據(jù)集導(dǎo)航的任何一個(gè)超級(jí)鏈接,結(jié)果如圖5-2-8所示:

圖5-2-8? 點(diǎn)擊數(shù)據(jù)集導(dǎo)航后頁面結(jié)果

  啊!全沒了!這就是ASP.NET網(wǎng)頁間數(shù)據(jù)傳遞的問題。得像5.1節(jié)中那進(jìn)行修改。

  (10)切換到代碼視圖,在<html>標(biāo)簽之前,插入如圖5-2-9紅色圈中所示的代碼。

圖5-2-9? 給hf.aspx插入頁面載入默認(rèn)函數(shù)

  (11)找到數(shù)據(jù)集Ztre中的代碼:

? <Parameter? Name="@ZTID"? Value='<%# IIf((request.QueryString("ztanw") <> Nothing), request.QueryString("ztanw"), "") %>'? Type="Integer"?? />?

  把上面代碼中request.QueryString("ztanw")替代為session("ztanw"),結(jié)果代碼修改為

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

  (12)找到數(shù)據(jù)集Hfre中的代碼:

? <Parameter? Name="@ZTID"? Value='<%# IIf((request.QueryString("ztanw") <> Nothing), request.QueryString("ztanw"), "") %>'? Type="Integer"?? />?

  把上面代碼中request.QueryString("ztanw")替代為session("ztanw"),結(jié)果代碼修改為

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

  (13)保存hf.aspx。

  

6.1? 基本頁面設(shè)計(jì)

  6.1.1 模板bkblog.dwt.aspx頁面的修改

  (1)打開模板bkblog.dwt.aspx,在左邊欄目插入表格Lefttab,在第一行中插入表單Yhlogfrm,在表單Yhlogfrm中插入表格logtab,并插入有關(guān)文本框、文本區(qū)域及按鈕,結(jié)果如圖6-1-1所示:

圖6-1-1? 模板中用戶登錄設(shè)計(jì)

  (2)將作者相應(yīng)的文本框命名為Logname;將密碼相應(yīng)的文本框命名為Logpass,類型改為密碼;“注冊(cè)”按鈕的動(dòng)作改為“無”;把“登錄”按鈕的動(dòng)作改為“提交表單”。

  (3)選擇按鈕“注冊(cè)”按鈕,在【行為】面板中,添加行為轉(zhuǎn)到URL,在彈出的對(duì)話框中,輸入鏈接為“../yhinlog.aspx” 如圖6-1-2所示:

圖6-1-2? 添加轉(zhuǎn)到URL的行為

  (4)保存模板,更新所有的網(wǎng)頁。

  6.1.2? 注冊(cè)頁面的設(shè)計(jì)

  (1)新建由模板bkblog.dwt.aspx生成的ASP.NET VB 動(dòng)態(tài)頁yhinlog.aspx,在mainbody可編輯區(qū)域中插入表單Yhinfrm,再插入表格yhinlog,并進(jìn)行有關(guān)設(shè)計(jì),結(jié)果如圖6-1-3所示:

圖6-1-3? 表格yhinlog的設(shè)計(jì)

  (2)選擇用戶名相應(yīng)的文本框,切換到標(biāo)簽面板,展開“CSS/輔助功能”,在id中輸入YHNAME;展開“未分類”,輸入runat,server,把YHNAME文本框改為服務(wù)器控件,如圖6-1-4所示:

圖6-1-4? 修改文本框標(biāo)簽

  (3)依此類推,密碼相應(yīng)的文本框命名為YHPASS,密碼再確認(rèn)相應(yīng)的文本框命名為REPASS,QQ碼相應(yīng)的文本框命名為YHQQ,Email相應(yīng)的文本框命名為YHEMAIL,主頁相應(yīng)的文本框命名為YHINDEX,將所有文本框改為服務(wù)器控件。

  (4)選擇表單Yhinfrm,并將其改為服務(wù)器控件,保存yhinlog.aspx。

  6.1.3? 完成注冊(cè)頁面的設(shè)計(jì)

  (1)由模板bkblog.dwt.aspx新建動(dòng)態(tài)動(dòng)態(tài)網(wǎng)頁yhlogok.aspx,在mainbody可編輯區(qū)域中插入三行一列的表格logok,在第二行中輸入文字“歡迎”,點(diǎn)擊ASP.NET快捷菜單中的“綁定數(shù)據(jù)”,再點(diǎn)擊“修剪的表單元素”,把光標(biāo)移到如圖6-1-5所示的位置,輸入“YHNAME”。

圖6-1-5? 插入修剪的表單元素

  (2)返回設(shè)計(jì)視圖,繼續(xù)輸入文字“Donking's BLOG!”,并、對(duì)表格logok,進(jìn)行有關(guān)設(shè)計(jì),結(jié)果如圖6-1-6所示:

圖6-1-6 表格logok的設(shè)計(jì)

  (3)選擇按鈕“主頁”按鈕,在【行為】面板中,添加行為轉(zhuǎn)到URL,在彈出的對(duì)話框中,輸入鏈接為“index.aspx”,保存yhlogok.aspx

6.2驗(yàn)證用戶注冊(cè)

  為了防止用戶輸入錯(cuò)誤的注冊(cè)信息,要對(duì)用戶注冊(cè)信息進(jìn)行規(guī)范和驗(yàn)證。

  (1)打開yhinlog.aspx,打開ASP.NET快捷菜單,點(diǎn)擊【更多標(biāo)簽】,如圖6-2-1所示:

圖6-2-1? ASP.NET 快捷菜單

  (2)在彈出的標(biāo)簽選擇器中展開“ASP.NET 標(biāo)簽”→“驗(yàn)證服務(wù)器控件”,在右窗架中選中“asp:RequiredFieldvalidator”,單擊“插入”按扭,如下圖6-2-2所示:

圖6-2-2? 標(biāo)簽選擇器

  (3)在彈出的標(biāo)簽編輯器中,為文本框YHNAME添加驗(yàn)證控件,填寫各項(xiàng)如圖6-2-3所示:

圖6-2-3? RequiredFieldValidator標(biāo)簽編輯器

  (4)打開標(biāo)簽選擇器,插入ASP.NET驗(yàn)證服務(wù)器控件→CompareValidator控件,為文本框YHPASS添加與REPASS文本框?qū)Ρ闰?yàn)證控件,填有關(guān)信息如圖6-2-4所示:

圖6-2-4? CompareValidato標(biāo)簽編輯器

  (5)插入ASP.NET驗(yàn)證服務(wù)器控件→Rangevalidator控件,為文本框YHQQ添加驗(yàn)證控件,填有關(guān)信息如圖6-2-5所示:

圖6-2-5? Range validator標(biāo)簽編輯器

  (6)插入ASP.NET驗(yàn)證服務(wù)器控件→Regularexpressionvalidator控件,為文本框YHEMAIL添加驗(yàn)證控件,填各項(xiàng)如圖6-2-6所示,其中的驗(yàn)證表達(dá)式為:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

圖6-2-6 Regular expression validator標(biāo)簽編輯器

  (7)插入ASP.NET驗(yàn)證服務(wù)器控件→Regularexpressionvalidator控件,為文本框YHINDEX添加驗(yàn)證控件,填寫各項(xiàng)如圖6-2-7所示,其中的驗(yàn)證表達(dá)式為:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&amp;=]*)?

圖6-2-7? Regular expression validator 標(biāo)簽編輯器

  (8)應(yīng)該再一個(gè)驗(yàn)證控件防止用戶注冊(cè)的用戶名重復(fù)。

  ①添加數(shù)據(jù)集yhinlog,設(shè)為篩選,篩選字段為YHNAME,參數(shù)變量為來之表單變量YHNAME,其設(shè)置如圖6-2-8所示:

圖6-2-8? 插入數(shù)據(jù)集yhinlog

 ?、诓迦階SP.NET驗(yàn)證服務(wù)器控件→CustomValidator控件,為文本框YHINDEX再添加驗(yàn)證控件,填寫各項(xiàng)如圖6-2-9所示,其中的客戶端驗(yàn)證功能為:

<%# IIf(yhinlog.RecordCount>0,FALSE,TRUE) %>

圖6-2-9? Custom Validator標(biāo)簽編輯器

  (9)保存yhinlog.aspx,在IE中進(jìn)行瀏覽,如果出現(xiàn)圖6-2-10所示的對(duì)話框,那說明的dklog站點(diǎn)根目錄下沒有子目錄aspnet_client,也是就沒有驗(yàn)證控件必要的JS腳本庫。這個(gè)在安裝.NET框架的時(shí)候,安裝程序已經(jīng)復(fù)制在默認(rèn)站點(diǎn)c:/ Inetpub/wwwroot的根目錄下,復(fù)制c:/ Inetpub/wwwroot中的子目錄aspnet_client到dkblog站點(diǎn)根目錄下,就OK了!

圖6-2-10? 找不到必要JS腳本庫

6.3? 添加“插入記錄”服務(wù)器行為

  (1)打開yhinlog.aspx,添加【插入記錄】服務(wù)器行為,表單的有關(guān)數(shù)據(jù)添加到數(shù)據(jù)表YH中,其有關(guān)設(shè)置如圖6-3-1所示:

圖6-3-1? 添加【插入記錄】服務(wù)器行為

  (2)ASP.NET是不支持gb2312編碼傳輸。切換到代碼視圖,找到:

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>

  把 ResponseEncoding="gb2312" 這句代碼刪掉就OK了:

<%@ Page Language="VB" ContentType="text/html"%>

  (3)保存,在IE中瀏覽提交用戶注冊(cè)信息,在Access打開YH表,可以發(fā)現(xiàn)提交的中文信息全變成了??。那怎么辦?不用急,這是由于TASP.NET不支持gb2312編碼傳輸所致。打開yhinlog.aspx,切換到代碼視圖,找到第一行代碼:

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>

  把它改為:

<%@ Page Language="VB" ContentType="text/html" %>

  也就是去除ResponseEncoding="gb2312"。其他網(wǎng)頁也按此法進(jìn)行修改,防止中文提交信息出錯(cuò)。

  

7.1? 用戶登錄服務(wù)器行為

  用戶登錄,經(jīng)過驗(yàn)證正確,頁面換了個(gè)用戶登錄后的面貌。

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

  (2)插入關(guān)于YH表查詢的數(shù)據(jù)集yhlog,以驗(yàn)證用戶登錄的正確。

 ?、賹?shù)據(jù)集yhlog設(shè)為篩選,如圖7-2所示。

圖7-1? 表格yhtab的設(shè)計(jì)圖???

?圖7-2? 插入數(shù)據(jù)集yhlog

  ②點(diǎn)擊“高級(jí)”按鈕,切換到高級(jí)數(shù)據(jù)集模式,如圖7-3所示。

圖7-3? 插入數(shù)據(jù)集yhlog

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

圖7-4? 添加參加Logpass

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

圖7-5? 生成值對(duì)話框

 ?、輪螕簟按_定”保存設(shè)置,一直回到數(shù)據(jù)集yhlog對(duì)話框。修改SQL語句,修改結(jié)果如圖7-6所示。

圖7-6? 對(duì)數(shù)據(jù)集yhlog進(jìn)行修改

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

圖7-7? 定義函數(shù)uselog

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

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

  把上面代碼改為:

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

  (5)插入關(guān)于ZT表查詢的數(shù)據(jù)集bjre,返回該用戶發(fā)表的學(xué)習(xí)筆記總數(shù)。

 ?、賹?shù)據(jù)集設(shè)為“篩選”,篩選字段為:YHID,篩選方式為:輸入值,如圖7-8所示。

圖7-8? 插入數(shù)據(jù)集bjre

 ?、邳c(diǎn)擊“高級(jí)”,切換到高級(jí)數(shù)據(jù)集模式,將SQL修改成如圖7-9所示。

圖7-9? 修改數(shù)據(jù)集bjre

 ?、埸c(diǎn)擊“編輯”按鈕,在文本域中把YHID改為session(”USEID”),結(jié)果如圖7-10所示。

圖7-10? 編輯數(shù)據(jù)集bire的參數(shù)

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

  (6)插入關(guān)于HF表查詢的數(shù)據(jù)集plre,返回該用戶發(fā)表的學(xué)習(xí)筆記總數(shù)。除了查詢表不同外,其他設(shè)置與數(shù)據(jù)集bjre相同(可以先復(fù)制粘貼數(shù)據(jù)集plre,再進(jìn)行修改)。

  (7)拖拉數(shù)據(jù)集bjre下的字段Eprl100到表格yhtab中的“發(fā)表筆記:”之后;拖拉數(shù)據(jù)集plre下的字段Eprl100到表格yhtab中的“發(fā)表回復(fù):”之后。

  (8)把光標(biāo)移到表格yhtab中的“用戶信息”之前,點(diǎn)擊ASP.NET快捷菜單下的“綁定數(shù)據(jù)”,結(jié)果如圖7-11所示。

圖7-11? 插入綁定數(shù)據(jù)

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

  (9)返回設(shè)計(jì)視圖,給表格yhtab中的“發(fā)表新筆記”建立超級(jí)鏈接:../ztfb.aspx

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

  結(jié)果如圖7-12所示。

圖7-12? 表格yhtab的修改

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

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

圖7-13? 移至光標(biāo)所在位置

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

圖7-14? 在標(biāo)簽<form>之前插入代碼

  (13)把光標(biāo)移到Y(jié)hlogfrm結(jié)束標(biāo)簽</form>之后,輸入代碼,如圖7-15紅色圈中所示。

圖7-15? 標(biāo)簽</form>之后插入代碼

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

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

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

圖7-16? 用戶登錄前

圖7-17? 用戶登錄后

  提醒:為了方便讀者學(xué)習(xí),教程分成模塊來寫。實(shí)際上一開始就得在模板中所有功能做好,特別是在模板必須插入的數(shù)據(jù)集及頁頭載入程序,因?yàn)檫@些在后期修改后不能更新網(wǎng)頁。

7.2? 用戶發(fā)表回復(fù)信息

  用戶登錄后,就可以對(duì)?各學(xué)習(xí)筆記發(fā)表回復(fù)信息。

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

圖7-18? 表格Hftab的有關(guān)設(shè)計(jì)

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

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

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

  改為:

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

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

圖7-19? 選擇< input # plbottom>快捷編輯標(biāo)簽

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

disabled=”true”

  改為:

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

  結(jié)果如圖7-20所示。

圖7-20? 快捷< input # plbottom>編輯標(biāo)簽

  即設(shè)按鈕plbottom,當(dāng)用戶登錄前為禁用,用戶登錄后為可用。

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

圖7-21? 添加插入記錄服務(wù)器行為

  在圖7-21中,可以看到字段HFID、HFTIME、YHID、ZTID沒有獲取值。字段HFID是自動(dòng)編號(hào),數(shù)據(jù)庫會(huì)自動(dòng)給記錄添加數(shù)值;字段HFTIME在Access中已設(shè)默認(rèn)值為date(),所以數(shù)據(jù)庫會(huì)自動(dòng)給新增加的記錄添加當(dāng)天日期。那字段YHID就是登錄用戶的ID碼,字段ZTID就是要發(fā)表的筆記ID。所以要把登錄用戶的ID碼添加到字段YHID中,要發(fā)表的筆記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 (?, ?, ?, ?)" %>'

  (7)按次序添加參數(shù):

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

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

  結(jié)果如圖7-23所示。

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

  (8)在發(fā)布回復(fù)信息前,得對(duì)回復(fù)標(biāo)題和回復(fù)的內(nèi)容進(jìn)行驗(yàn)證,防止發(fā)布空標(biāo)題或空內(nèi)容的回復(fù)信息。參照6.2節(jié)中插入RequiredFieldValidato驗(yàn)證控件方法,分別給文本框HFNAME、文本區(qū)域控件HFTEXT添加RequiredFieldValidato驗(yàn)證控件。

  (9)用戶發(fā)布回復(fù)信息時(shí),還得給學(xué)習(xí)筆記的回復(fù)總數(shù)自動(dòng)增加1,也就是給ZT表下的HFZS字段自動(dòng)增加1。

  ①在【服務(wù)器行為】面板中,插入“更新記錄”服務(wù)器行為,設(shè)更新表格為ZT,暫時(shí)設(shè)提交值,來自表單yhplfrm,暫時(shí)設(shè):‘HFZS’從‘HFTEXT’獲取值(作為‘Integer’);暫時(shí)設(shè):‘ZTID’將‘HFTEXT’ 用作‘Integer’來選擇記錄

 ?、跒槭裁慈菚簳r(shí)的?那是為了先讓Dreamweaver自動(dòng)生成一些代碼,后方便修改。先切換代碼視圖,找到更新記錄(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? 用戶發(fā)表學(xué)習(xí)筆記

  用戶登錄后,除了可以發(fā)表回復(fù)信息外,還可以發(fā)表新的學(xué)習(xí)筆記。

  (1)新建由模板bkblog.dwt.aspx生成動(dòng)態(tài)網(wǎng)頁ztfb.aspx,在mainbody可編輯區(qū)域中插入一列五行的表格ztfb。

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

圖7-24? 添加數(shù)據(jù)集zthb

  (3)拖拉數(shù)據(jù)集下的有關(guān)字段到表格ztfb中,方法參照第4.2節(jié)的方法。

  (4)打開hf.aspx,復(fù)制表單yhplfrm,把它粘貼到網(wǎng)頁ztfb.aspx中的表格zthb的第五行,清空文本框HFNAME,并進(jìn)行必要的修改,結(jié)果如圖7-25所示。

圖7-25? 表格ztfb的設(shè)計(jì)

  (2)把文本框HFNAME改名為ZTNAME,文本區(qū)域HFTEXT改名為ZTTEXT。

  (3)設(shè)表格zthb的第一、二、三行為數(shù)據(jù)集zthb的重復(fù)區(qū)域,再在表格的第四行中插入數(shù)據(jù)集導(dǎo)航。

  (4)插入列表/菜單LMID,點(diǎn)擊其屬性窗口中的列表值,在彈出的列表值對(duì)話框中,輸入項(xiàng)目標(biāo)簽為:設(shè)計(jì)項(xiàng);值為:1,按“確定”鍵,如圖7-26所示。

圖7-26? LMID列表值對(duì)話框

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

圖7-27? 拖拉數(shù)據(jù)集menuda下的字段LMID

  (6)拖拉數(shù)據(jù)集menuda下的字段LM,替換“設(shè)計(jì)項(xiàng)”,結(jié)果如圖7-28所示。

圖7-28? 拖拉數(shù)據(jù)集menuda下的字段LM

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

圖7-29? 定義列表中的數(shù)據(jù)集menuda重復(fù)區(qū)域

  (8)添加“插入記錄”服務(wù)器行為,其設(shè)置如圖7-30所示。

圖7-30? 添加“插入記錄”服務(wù)器行為

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

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

  改為:

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

  (10)添加參數(shù):

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

  結(jié)果如圖7-31所示。

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

7.4? 修改用戶資料

  修改用戶資料頁面設(shè)計(jì)與用戶注冊(cè)頁面設(shè)計(jì)基本相同。

  (1)打開注冊(cè)頁面yhlogok.aspx,把它另存為yhsg.aspx,并進(jìn)行適當(dāng)?shù)男薷?#xff0c;結(jié)果如圖7-32所示。

圖7-32? yhsg.aspx頁面設(shè)計(jì)

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

圖7-33? 插入數(shù)據(jù)集yhsg

  (3)綁定數(shù)據(jù)集yhsg下的有關(guān)字段到相應(yīng)的文本框中,結(jié)果如圖7-34所示。

圖7-34? 綁定動(dòng)態(tài)文本到有關(guān)文本框中

  (4)添加更新記錄服務(wù)器行為,暫時(shí)設(shè):’YHID’將’YHNAME’用作’Integer’來選擇記錄,結(jié)果如圖7-35所示。

圖7-35? 添加更記錄服務(wù)器行為

  (5)在更記錄的原代碼中,找到代碼:

<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" />?

  (6)保存yhsg.aspx。

8.1? 管理員登錄的實(shí)現(xiàn)

  (1)新建空白的APS.NET VB動(dòng)態(tài)頁gllogin.aspx,插入表單glfrm,再插入表格,設(shè)置如圖8-1所示。

圖8-1? gllogin的頁面設(shè)計(jì)

  (2)設(shè)管理員相應(yīng)的文本框的ID為GLY,密碼對(duì)應(yīng)的文本框的ID為GLPASS。

  (3)添加數(shù)據(jù)集gly,設(shè)為篩選,如圖8-2所示。

圖8-2? 添加數(shù)據(jù)集gly

  (4)點(diǎn)擊“高級(jí)”按鈕,添加參數(shù)@GLPASS,如圖8-3所示。

圖8-3? 添加參數(shù)@GLPASS

  (5)在數(shù)據(jù)集gly高級(jí)對(duì)話框中,將SQL命令改為如圖8-4所示。

圖8-4? 數(shù)據(jù)集gly高級(jí)對(duì)話框

  (6)切換到代碼視圖,在<html>標(biāo)簽之前,插入如圖8-5所示的代碼。

圖8-5? 在<html>標(biāo)簽之前插入代碼

  (7)保存gllogin.aspx。

8.2? 學(xué)習(xí)筆記管理

  從上節(jié)中,可以看到管理員登錄成功后,鏈接到Doking’s BLOG的首頁,對(duì)學(xué)習(xí)筆記進(jìn)行管理。但以前章節(jié)中,index.aspx沒有刪除學(xué)習(xí)筆記的功能。這一節(jié)將為它添加這一功能。

  (1)在表格ztre的第一行中,插入asp標(biāo)簽Label1,文本為:刪除,如圖8-6所示。

圖8-6? 插入asp標(biāo)簽Label1

  (2)右鍵選擇asp標(biāo)簽Label1,選擇快捷菜單下的“編輯標(biāo)簽”,選擇“樣式信息”,設(shè)為不可見,如圖8-7所示。

圖8-7? 設(shè)asp標(biāo)簽Label1為不可見

  (3)插入表單控件下的復(fù)選框,命名為ZTID,插入表單控件下的按鈕,ID為GLY,結(jié)果如圖8-8所示。

圖8-8? 在表格ztre的設(shè)置

  (4)切換到【標(biāo)簽】面板下的【屬性】選項(xiàng)卡,展開“常規(guī)”項(xiàng),在“value”項(xiàng)中單擊動(dòng)態(tài)數(shù)據(jù),如圖8-9所示。

圖8-9? ZTID標(biāo)簽屬性面板

  (5)在彈出的“動(dòng)態(tài)數(shù)據(jù)”對(duì)話框中,選擇數(shù)據(jù)集Ztre下的字段ZTID,按“確定”鍵,如圖8-10所示。

圖8-10? 動(dòng)態(tài)數(shù)據(jù)窗口

  (6)在狀態(tài)欄下右鍵選擇<input#ZIID>打開快速編輯標(biāo)簽窗口,在其標(biāo)簽中添加代碼:

style="visibility: <%# iif(session("GLY")<>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %>"

  如圖8-11深藍(lán)色所示。

圖8-11? 快速編輯<input#ZIID>標(biāo)簽

  (7)選擇按鈕GLY,在狀態(tài)欄下右鍵選擇<input#GLY>打開快速編輯標(biāo)簽窗口,在其標(biāo)簽中添加代碼:

style="visibility: <%# iif(session("GLY")<>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %>"

  (8)添加“刪除記錄”服務(wù)器行為,其設(shè)置如圖8-12所示。

圖8-12? 添加“刪除記錄”服務(wù)器行為

  (9)按“確定”鍵,完成添加“刪除記錄”服務(wù)器行為。切換到代碼視圖找到該“刪除記錄”服務(wù)器行為的原代碼,如圖8-13紅色圈中所示。

圖8-13? “刪除記錄”服務(wù)器行為的原代碼

  (10)刪除如圖8-2-8中所示的5、8、12、13、14行的代碼,將第10行中Debug的值true改為false,添加新行為:id=“del1”,修改后如圖8-14紅色圈中所示。

圖8-14? 修改后“刪除記錄”del1服務(wù)器行為的原代碼

  (11)復(fù)制圖8-2-9紅色圈中所示的代碼,即復(fù)制修改后“刪除記錄”del1服務(wù)器行為的原代碼,把它粘貼到適當(dāng)位置,改id為”del2”,如圖8-15所示。

圖8-15? 添加del2“刪除記錄”服務(wù)器行為

  (12)在頁面載入觸發(fā)的事件page_load中插入如圖8-16紅色圈中所示的代碼。

圖8-16? 在頁面載入觸發(fā)的事件page_load中插入的代碼

8.3? 筆記回復(fù)管理

  筆記回復(fù)管理與學(xué)習(xí)筆記管理的道理和方法是一致的。

  (1)打開index.aspx,復(fù)制asp標(biāo)簽Label1、表單控件ZTID和按鈕GLG,打開hf.aspx,把這三個(gè)控件粘貼到如圖8-17所示的位置,把表單控件ZTID的ID改為HFID。

圖8-17? 給hf.aspx粘貼控件

  (2)選擇復(fù)選框HFID,切換到【標(biāo)簽】面板下的【屬性】選項(xiàng)卡,展開“常規(guī)”項(xiàng),在“value”項(xiàng)中單擊動(dòng)態(tài)數(shù)據(jù),在彈出的“動(dòng)態(tài)數(shù)據(jù)”對(duì)話框中,選擇數(shù)據(jù)集Hfre下的字段HFID,按“確定”鍵,如圖8-18所示。

圖8-18? 動(dòng)態(tài)數(shù)據(jù)窗口

  (3)復(fù)制index.aspx 中的“del1”刪除記錄服務(wù)行為的原代碼,粘貼到hf.aspx中。

  (4)給hf.aspx頁面中的頁面載入觸發(fā)事件page_load插入如圖8-19紅色圈中所示的代碼。

圖8-19? 給h頁面載入觸發(fā)事件page_load插入代碼

  (5)找到表單yhplfrm的原代碼,將其移到表格ztre標(biāo)簽之前,結(jié)果如圖8-20所示。

圖8-20? 移動(dòng)表單yhplfrm的標(biāo)簽

  (6)在表格Hftab標(biāo)簽之前插入如圖8-21紅色圈所示的代碼。

圖8-21? 在表格Hftab標(biāo)簽之前插代碼

  (7)將表單yhplfrm結(jié)束標(biāo)簽</form>移到表格ztre標(biāo)簽之后,在表格Hftab標(biāo)簽之后插入如圖8-22紅色圈所示的代碼。

圖8-22? 在表格Hftab標(biāo)簽之后插代碼

  提醒:這里還有一個(gè)管理員退出登錄的問題,那就留給讀者動(dòng)動(dòng)腦筋。提示一下,只要設(shè)session(“GLY”)為空值或空字串就可以了。

9.1? 基本頁面設(shè)計(jì)

  打開模板dkblog.dwt.aspx,在左邊導(dǎo)航上添加文字設(shè)計(jì)如圖9-1所示。

圖9-1? 模板dkblog.dwt.aspx左邊導(dǎo)航文字設(shè)計(jì)

9.2? 在線人數(shù)統(tǒng)計(jì)

  在線人數(shù)統(tǒng)計(jì)的實(shí)現(xiàn)得依靠global.asax文件。global.asax文件包括了處理應(yīng)用程序層次事件的程序代碼,就像在經(jīng)典ASP中的Global.asa文件。在Global.asax中的<script>標(biāo)簽包含了面對(duì)應(yīng)用程序?qū)哟蔚氖录幚砥?。第一組的事件處理器負(fù)責(zé)處理應(yīng)用程序的開始以及停止事件。一個(gè)開始事件會(huì)在任何頁面第一次被請(qǐng)求的時(shí)候被喚醒。而應(yīng)用程序終止事件則會(huì)在應(yīng)用程序關(guān)閉的時(shí)候被喚醒。
建立global.asax文件,一般得手編?,F(xiàn)在可以Visual Web Developer 2005這個(gè)軟件中快速建立global.asax文件。

  (1)下載、安裝Visual Web Developer 2005。

  Visual Web Developer 2005 下載地址:

http://go.microsoft.com/fwlink/?linkid=30092&clcid=0x409

  下載后安裝,運(yùn)行后其歡迎界面如圖9-2所示。

圖9-2? Visual Web Developer 2005運(yùn)行歡迎界面

  (2)在Visual Web Developer 2005運(yùn)行后,選擇【File】→【New File】,在彈出【New File】對(duì)話框中,展開“Categories”的“Web”選項(xiàng),并選擇“Visual Basic”,選擇“Templates”中的“Global Application Class”,如圖9-3所示。

圖9-3? 新建立Global Application Class

  (3)單擊“Open”按鈕,新建交一個(gè)新的Glbal文件如圖9-4所示。

圖9-4? 一個(gè)新建立的Glbal文件

  (4)對(duì)Glbal文件進(jìn)行修改,修改后如圖9-5所示。

圖9-5? 修改Glbal文件

  (5)保存Glbal文件到D:/dkkblog根目錄下,文件名為Glbal.asax。

  (6)返回到Dreamweaver中,打開模板dkblog.dwt.aspx,并切換成代碼視圖,找到代碼:

<td class="BTD">本站在線人數(shù)統(tǒng)計(jì):人</td>

  并改為:

<td class="BTD">本站在線人數(shù)統(tǒng)計(jì):<%=Application("dk_uses")%> 人 </td>

  (7)保存模板。

  提醒:這里用Visual Web Developer 2005建立Glball.asax文件,只為了方便讀者,同時(shí)也讓讀者接觸一下Visual Web Developer 2005,這個(gè)新軟件功能十分強(qiáng)大。如果沒有Visual Web Developer 2005,大可直接新建一個(gè)空白記事本,編寫如上圖9-5所示的代碼,保存成Glball.asax文件就好了。

9.3? 站點(diǎn)筆記和回復(fù)的統(tǒng)計(jì)

  回想在“7.1? 用戶登錄服務(wù)器行為”中,曾為用戶統(tǒng)計(jì)其發(fā)表筆記與回復(fù),站點(diǎn)筆記和回復(fù)的統(tǒng)計(jì)與其類同。

  (1)打開模板dkblog.dwt.aspx,新建數(shù)據(jù)集zdbj,其設(shè)置如圖9-6所示;新建立數(shù)據(jù)集zdhf,其設(shè)置如圖9-7所示。

圖9-6? 數(shù)據(jù)集zdbj的設(shè)置圖

圖9-7? 數(shù)據(jù)集zdhf的設(shè)置圖

  (2)分別綁定數(shù)據(jù)集zbbj、數(shù)據(jù)集zbhf到頁面中,如圖9-8所示。

圖9-8? 綁定數(shù)據(jù)集zbbj、zbhf

  (3)保存模板dkblog.dwt.aspx,更新所有網(wǎng)頁。

既然Doking’s BLOG是學(xué)習(xí)筆記,那么按日歷可以查出所有筆記和筆記回復(fù)。

  難點(diǎn)分析:是不是要在模板中直接添加Calendar日歷控件?不!那是不行的!由于Calendar日歷控件是服務(wù)器控件,要在含有runat="server"表單該服務(wù)器控件,但一頁面中只能有一個(gè)含有runat="server"表單,不然有時(shí)會(huì)出現(xiàn)如圖10-1所示的錯(cuò)誤顯示。

圖10-1? 頁面只能有一個(gè)含有runat="server"表單的錯(cuò)誤

  那怎么辦?這里是采取嵌入式框架進(jìn)行轉(zhuǎn)移。

10.1? 添加Calendar日歷控件

  (1)新建一個(gè)空白ASP.NET VB動(dòng)態(tài)頁。

  (2)插入帶出runat="server"表單,設(shè)置ID=”Calfrm”。

  (3)點(diǎn)擊ASP.NET快捷菜單下的“更多標(biāo)簽按鈕,在彈出【標(biāo)簽選擇器】對(duì)話框中選擇“ASP.NET 標(biāo)簽”下的“asp Calendar”,如圖10-2所示。

圖10-2? 插入“asp Calendar”標(biāo)簽

  (4)按“插入”按鈕,彈出【標(biāo)簽編輯器—Calendar】對(duì)話框,如圖10-3所示。在這個(gè)對(duì)話中,可以對(duì)Calendar日歷控件的樣式進(jìn)行設(shè)置,由于有中文,在這里就不多講了。

  (5)保存ASP.NET VB動(dòng)態(tài)頁為dkCalendar.aspx。在IE中瀏覽,如圖10-4所示。

圖10-3? 【標(biāo)簽編輯器—Calendar】對(duì)話框

??????????? 圖10-4? dkCalendar.aspx在IE中的瀏覽

  在圖10-1-4中,可以看到星期的顯示太長了,很難看!如果顯示為“日、一、二、三、四、五、六”,那就好了。

10.2? 修改Calendar的星期顯示

  (1)在Dreamweaver中打開dkCalendar.aspx,切換到代碼視圖,尋找如下代碼:

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>

  把它改為:

<%@ Page Language="VB" Debug="true" Culture="zh-CN"%>

  (2)點(diǎn)擊ASP.NET快捷菜單下的“а:xy”按鈕,插入命名空間,如圖10-5所示。

  (3)此時(shí)新添代碼:

<%@ Import Namespace="" %>

  輸入命名空間為System.Globalization,即代碼改為:

<%@ Import Namespace="System.Globalization" %>

  (4)再添加命名空間System.Threading,結(jié)果如圖10-6所示。

圖10-5? 插入命名空間

圖10-6? 插入命名空間后代碼

  (5)在代碼:

<%@ Import Namespace="System.Treading" %>

  之后,空一行,并插入如下代碼:

<script runat="server">

  Dim dkday‘定義選擇日期所產(chǎn)生的鏈接字符串的全局變量

'改變星期顯示的函數(shù)

Private Sub Calendar1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.PreRender

Dim dkwek = System.Threading.Thread.CurrentThread

Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone()

dknew.DateTimeFormat.DayNames = New String() {"日", "一", "二", "三", "四", "五", "六"}

dknew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday

dkwek.CurrentCulture = dknew

End Sub

</script>

  (6)選擇日歷控件Calendar1的原代碼,切換到【標(biāo)簽】面板的【屬性】選項(xiàng)卡,展開“外觀”選項(xiàng),選擇“DayNameFormat”項(xiàng)的下拉菜單,并選擇“Full”,如圖10-7所示。

  (7)保存dkCalendar.aspx,在IE中進(jìn)行瀏覽,結(jié)果如圖10-8所示。?

  

圖10-7? 選擇“DayNameFormat”值為“Full”???????? 圖10-8? dkCalendar.aspx修改后在IE瀏覽

10.3? 添加日歷事件

  (1)在Dreamweaver中打開dkCalendar.aspx,切換到代碼視圖,選擇Calendar1的原代碼,右鍵單擊它,在彈出的快捷菜單中選擇“編輯標(biāo)簽(E)<asp:calendar>”,如圖10-9所示。

圖10-9? 選擇“編輯標(biāo)簽(E)<asp:calendar>”

  (2)在彈出【編輯標(biāo)簽—calendar】的對(duì)話框中,展開“事件”項(xiàng),選擇“OnSelectionChanged”,在“Calendar —OnSelectionChanged”事件文本區(qū)域中,輸入“Calendar1_SelectionChanged”,按“確定”按鈕,如圖10-10所示。

圖10-10? 編輯OnSelectionChanged事件

  (3)在代碼<script runat="server">標(biāo)簽中添加如圖10-11紅色圈所示的代碼。

圖10-11? 添加Calendar1_SelectionChanged事件

  (4)在標(biāo)簽<head></head>之間,插入如圖10-12紅色圈所示的代碼。

  (5)找標(biāo)簽<body>,將其改為如圖10-13紅色圈所示的代碼。

圖10-12? 插入javascript函數(shù)dkwk

圖10-13? 修改標(biāo)簽<body>

  (6)再次把Calendar1的“DayNameFormat”項(xiàng)的設(shè)為“Full”,參照10.2節(jié)中的第6步驟。

  (7)保存dkCalendar.aspx,打開index.aspx,在page_load函數(shù)中添加如下代碼:

if Request.QueryString("dkday")<>nothing then

Ztre.CommandText="SELECT * FROM ZTRE WHERE cstr(ZITIME) LIKE '%" &Request.QueryString("dkday")&"%' ORDER BY ZITIME DESC"

else

if (request.QueryString("menanw")<>nothing) or (session("menanw")<>nothing) then

Ztre.CommandText="SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC"

else

Ztre.CommandText="SELECT * FROM ZTRE? ORDER BY ZITIME DESC"

end if

end if

  結(jié)果如圖10-14所示。

圖10-14? 在page_load函數(shù)中添加代碼

  (8)找到記錄集Ztre的原代碼,刪除其CommanText所在的命令行,結(jié)果如圖10-15紅色圈所示。

圖10-15? 修改后記錄集Ztre的原代碼

  (9)保存index.aspx。

10.4? 添加嵌入式框架

  (1)打開模板dkblog.dwt.aspx,在ASP.NET快捷菜單中,點(diǎn)擊“更多標(biāo)簽”快捷按鈕,在彈出【標(biāo)簽選擇器】對(duì)話框中,選擇“HTML標(biāo)簽”,并選擇“iframe”項(xiàng),如圖10-16所示。

圖10-16? 插入iframe標(biāo)簽(即嵌入式框架)

  (2)單擊“插入”按鈕,在彈出【標(biāo)簽編輯器—iframe】對(duì)話框中對(duì)要插入的嵌入式框架進(jìn)行有關(guān)設(shè)置如圖10-17所示。

圖10-17? 對(duì)嵌入式框架進(jìn)行有關(guān)設(shè)置

  (3)按“確定”按鈕,返回到【標(biāo)簽編輯器—iframe】對(duì)話框,再按“關(guān)閉”按鈕。

  (4)保存模板dkblog.dwt.aspx,更新所有網(wǎng)頁。

  (5)在IE中瀏覽index.aspx,結(jié)果如圖10-18所示。

圖10-18? 在IE中瀏覽index.aspx

  提醒:其實(shí)日歷事件的實(shí)現(xiàn)是十分復(fù)雜的事件,這里只是給出一個(gè)簡單的例子。這一節(jié)還有一個(gè)難點(diǎn)就是嵌入式框架對(duì)主窗口對(duì)象的控制,這里中只是舉了個(gè)用“parent.location.href”控制主窗口網(wǎng)頁的流轉(zhuǎn)。這些就留給讀者們慢慢研究了。

經(jīng)??吹皆S多網(wǎng)站有一個(gè)站內(nèi)搜索功能,這個(gè)是如何實(shí)現(xiàn)呢?如果是ASP,那Dreamweaver很快就能實(shí)現(xiàn)?,F(xiàn)在是ASP.NET,得稍微手編一下。

11.1? SELECT高級(jí)搜索技巧

  經(jīng)過上面章節(jié)的學(xué)習(xí),對(duì)SELECT多少會(huì)點(diǎn)了解。SELECT高級(jí)搜索技巧,其實(shí)也沒有什么神秘,主要與模式匹配運(yùn)算符的運(yùn)用有關(guān)。所以這里主要講解模式匹配運(yùn)算符的運(yùn)用。

  模式匹配運(yùn)算符LIKE、NOT LIKE常用于模糊查找,它判斷列值是否與指定的字符串格式相匹配。LIKE用于查找匹配一定條件的記錄,NOT LIKE用于查找不匹配指定條件的記錄??捎糜谧址?、文本、日期等類型查詢。

  1.百分號(hào)%:可匹配任意類型和長度的字符。

  例如:SELECT 學(xué)習(xí)筆記 FROM 學(xué)習(xí)筆記表 WHERE 標(biāo)題LIKE “網(wǎng)絡(luò)%”

  這個(gè)查詢是要查詢學(xué)習(xí)筆記表中標(biāo)題以“網(wǎng)絡(luò)”開始的所有學(xué)習(xí)筆記,如:網(wǎng)絡(luò)數(shù)據(jù)庫ASP一點(diǎn)通過、網(wǎng)絡(luò)與手機(jī)通訊開發(fā)研究等。

  例如:SELECT 學(xué)習(xí)筆記 FROM 學(xué)習(xí)筆記表 WHERE 標(biāo)題 LIKE “%ASP.NET%”
  這個(gè)查詢是要查詢所有標(biāo)題包含了“ASP.NET”的學(xué)習(xí)筆記。

  2.下劃線_:匹配單個(gè)任意字符,常用來限制表達(dá)式的字符長度。

  例如:SELECT 學(xué)習(xí)筆記 FROM 學(xué)習(xí)筆記表 WHERE 標(biāo)題 LIKE ”V_開發(fā)精選 ”
  這個(gè)查詢主要是查詢類似于“VB開發(fā)精選”、“VC開發(fā)精選”這樣標(biāo)題的學(xué)習(xí)筆記。

  3.中括號(hào)[ ]:指定個(gè)字符、字符串或范圍,要求所匹配對(duì)象為它們的任一個(gè)。

11.2? 站內(nèi)搜索功能的實(shí)現(xiàn)

  介紹了SELECT高級(jí)搜索技巧后,將要介紹站內(nèi)搜索功能的實(shí)現(xiàn)。這里只采用了百分號(hào)%模式匹配運(yùn)算符。

  (1)打開模板dkblog.dwt.aspx,插入表單,設(shè)ID=” gofrm”,動(dòng)作為” ../dkgo.aspx”,方法為”POST”;插入文本框,設(shè)ID= “dkgotxt”;插入按鈕“搜索”,結(jié)果如圖11-1所示。
  (2)保存模板dkblog.dwt.aspx更新所有網(wǎng)頁。
  (3)新建一個(gè)空白ASP.NET VB動(dòng)態(tài)頁,并保存為dkgo.aspx。添加數(shù)據(jù)集Ztre,其設(shè)置如圖11-2所示。

圖11-1? 添加有關(guān)表單控件

圖11-2? 添加數(shù)據(jù)集Ztre

  (4)單擊“高級(jí)”按鈕,把SQL命令:

SELECT * FROM ZT ORDER BY ZITIME DESC

  改為:

SELECT * FROM ZT WHERE ZTNAME LIKE '%"+Request.Form("dkgotxt")+"%' ORDER BY ZITIME DESC

  結(jié)果如圖11-3所示。

圖11-3 對(duì)數(shù)據(jù)集Ztre進(jìn)行修改

  (5)對(duì)dkgo.aspx頁面進(jìn)行有關(guān)設(shè)計(jì),綁定有關(guān)動(dòng)態(tài)文本到頁面中,設(shè)計(jì)重要區(qū)域,結(jié)果如圖11-4所示。

圖11-3? 對(duì)dkgo.aspx的頁面設(shè)置

  有關(guān)設(shè)置細(xì)節(jié)可以參照index.aspx的有關(guān)設(shè)置。

把Doking's BLOG上傳到遠(yuǎn)程空間

  為了使Doking's BLOG程序上傳到遠(yuǎn)程空間后能正常的運(yùn)行,下面介紹幾個(gè)安裝要點(diǎn)。

  1.本教程提供的Doking's BLOG程序是以站點(diǎn)根目錄為主,由于要用到web.config配置文件、bin目錄以及aspnet_client腳本庫,這三個(gè)文件和目錄必須放在站點(diǎn)的根目錄下才能數(shù)據(jù)集、窗體驗(yàn)證程序正常運(yùn)行。

  2.本教程的源程序文件和web.config配置文件、bin目錄以及aspnet_client腳本庫都放在同一目錄中,這三個(gè)文件位置是不能動(dòng)的,如果想把Doking's BLOG頁面放在根目錄下的二級(jí)目錄中,比如這樣:

http://localhost/dkblog/

  上面地址中,dkblog目錄是放置Doking's BLOG頁面文件的,除了web.config配置文件、bin目錄以及aspnet_client腳本庫上傳到根目錄中外,其它所有文件都可以復(fù)制到dkblog目錄中。

  3.由于Dreamweaver MX把連接數(shù)據(jù)庫的字符串存放在web.config配置文件中,打開web.config配置文件,可以看到如圖12-1紅色圈所示是數(shù)據(jù)庫在本地的物理路徑。

圖12-1? web.config配置文件部分內(nèi)容

  由于上傳到遠(yuǎn)程空間,其物理路徑一般不會(huì)本地的物理路徑相同。在web.config配置文件中也不能使用諸如Server.MapPath之類的服務(wù)器變量來獲取遠(yuǎn)程空間的數(shù)據(jù)庫物理路徑。

  可以通過以下方法來獲取數(shù)據(jù)庫在遠(yuǎn)程主機(jī)的真實(shí)目錄物理路徑。假定,在上傳遠(yuǎn)程空間的域名地址如下:

http://www.pconline.com.cn/dkblog

  通過上面的虛擬地址訪問遠(yuǎn)程虛擬主機(jī)的二級(jí)目錄dkblog,數(shù)據(jù)庫文件保存在dat文件夾中,因此實(shí)際虛擬地址為:http://www.pconline.com.cn/dkblog/dat

  在Dreamweaver中新建一個(gè)空白的ASP.NET VB動(dòng)態(tài)頁,切換到代碼視圖,輸入如下代碼:

<%=server.MapPath("") %>

  保存為dkurl.aspx,在IE瀏覽,結(jié)果如圖12-2所示。

圖12-2? 測試物理路徑

  可以看到dkurl.aspx所在的物理路徑就是:D/dkblog/,那數(shù)據(jù)庫的物理路徑自然是:D:/dkblog/dat/dkblog.mdb。

  得到遠(yuǎn)程主機(jī)的物理路徑后,打開web.config配置文件,修改數(shù)據(jù)庫的物理路徑。

  提醒:到此Doking’s BLOG的程序開發(fā)已完成。該程序十分簡單,但有利于初學(xué)者開發(fā)數(shù)據(jù)庫。實(shí)際應(yīng)用的BLOG程序其實(shí)十分復(fù)雜,許多技巧有待讀者去深思和研究。

?

?

總結(jié)

以上是生活随笔為你收集整理的Dreamweaver构建Blog全程实录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

中文字幕在线播放第一页 | 国产视频黄 | 粉嫩一二三区 | 色综合久久88色综合天天 | 五月激情亚洲 | 天天干天天干天天操 | 免费高清无人区完整版 | 丰满少妇对白在线偷拍 | 九九九九免费视频 | 国产一级片一区二区三区 | 水蜜桃亚洲一二三四在线 | 天天干天天拍天天操天天拍 | 成人午夜电影免费在线观看 | 国产传媒中文字幕 | 97超碰人人澡人人爱学生 | 日本不卡123 | 国产成人一区二区三区 | 欧美最猛性xxxxx(亚洲精品) | 91久久精品一区 | 亚洲视频 一区 | 久久国产精品电影 | 久久8精品 | 91久久精品日日躁夜夜躁国产 | 亚洲国产手机在线 | 999成人 | 免费一级片在线 | 免费视频成人 | 夜夜骑天天操 | 日韩精品一卡 | 播五月婷婷 | 伊人网av| 欧美一级特黄aaaaaa大片在线观看 | 最近更新的中文字幕 | 成人av免费| aaa毛片视频| 日韩av女优视频 | 黄色片视频免费 | 天天操天天射天天爱 | 青春草视频在线播放 | 精品自拍av | 成人免费在线播放视频 | 天天拍天天色 | 97色噜噜| 久久久久久久久久久久电影 | 三级黄色免费 | 91网站在线视频 | 欧美伊人网 | 成人午夜电影久久影院 | av软件在线观看 | 黄色免费网站下载 | 亚洲91中文字幕无线码三区 | 国产精品福利视频 | 偷拍福利视频一区二区三区 | av不卡免费在线观看 | 91av超碰| 97国产精品视频 | 成人黄色在线看 | 免费观看性生活大片 | 亚洲一级二级 | 婷婷国产一区二区三区 | 中文超碰字幕 | 国产精品午夜久久 | 黄在线| 国产高清视频在线 | 国产精品久一 | 亚洲国产成人精品在线观看 | 午夜精品久久一牛影视 | 五月婷婷在线观看视频 | 欧美日韩国产一区 | 四虎www. | 国产在线观看xxx | 激情网在线视频 | 91精品导航 | 欧美日韩在线视频一区二区 | wwxxxx日本| 久久久国产在线视频 | 欧美黄色成人 | 精品久久一区 | 午夜精品久久久久 | 亚洲午夜精品一区 | 99久热在线精品视频成人一区 | 91天天操 | 狠狠干在线| 成人久久18免费网站 | 精品特级毛片 | 久久综合色影院 | 国产免费人成xvideos视频 | 99热在| 久久久亚洲成人 | 日韩在线观看你懂得 | 日本三级在线观看中文字 | 欧美激情另类文学 | 超碰公开在线 | 日本色小说视频 | 久久夜色精品国产欧美乱 | 中文在线中文资源 | 日日干日日操 | 黄色亚洲在线 | 91久久久久久久 | 精品国产一区二区三区男人吃奶 | 日韩视频一区二区三区在线播放免费观看 | a视频在线观看免费 | 99热播精品 | 国产精品9999久久久久仙踪林 | 成年人黄色在线观看 | 婷婷丁香花五月天 | 亚洲成人午夜在线 | 国产精品电影在线 | 免费色视频在线 | 色综合久久久久久久久五月 | 1区2区3区在线观看 三级动图 | 超碰97久久 | 天天操狠狠干 | 69国产盗摄一区二区三区五区 | 久久国产精品一二三区 | 成人h在线观看 | 国产香蕉视频在线播放 | 亚洲一区二区三区在线看 | 免费观看性生活大片3 | 99热精品在线观看 | 日韩免费区 | 中文字幕免费高清在线观看 | 91中文在线视频 | 国产精品免费观看在线 | 久久a久久 | 日韩免费电影一区二区三区 | 99国产在线观看 | 日韩 精品 一区 国产 麻豆 | 久久毛片高清国产 | 色综合狠狠干 | 999日韩| 欧美成人按摩 | 成人av中文字幕 | 日本久久久久久久久久 | 国产精品一区二区在线观看 | 日韩精品免费一线在线观看 | 久久艹精品| 最近最新中文字幕 | 国产人成在线视频 | 97超碰免费在线观看 | 国产一区在线视频播放 | 亚洲精欧美一区二区精品 | 中文字幕av一区二区三区四区 | 日本三级在线观看中文字 | 又黄又刺激又爽的视频 | 久久另类小说 | 亚洲一级电影在线观看 | 国产高清av| 狠狠色综合网站久久久久久久 | 久久久69| 日日夜夜艹 | 色福利网站 | 国产福利午夜 | 国产精品久久久久一区二区 | 日韩一区在线免费观看 | 天堂激情网 | 麻豆91小视频 | 深爱婷婷| 色香蕉在线视频 | 91免费视频网站在线观看 | 国产精品毛片一区视频播不卡 | 国产理论在线 | 亚洲成人999 | www.黄色| 久久这里只有精品23 | 国产精品一区二区62 | 国产精品免费在线视频 | 日韩久久精品一区二区 | 久草在线免 | 人人干免费 | av观看在线观看 | 天天躁天天躁天天躁婷 | 国产男男gay做爰 | 日韩免费二区 | 欧美日韩在线播放 | 日韩视频中文 | 久久久国产一区二区三区 | zzijzzij亚洲成熟少妇 | 开心激情五月网 | 51精品国自产在线 | 免费色视频网站 | 久久精品综合 | 日韩午夜大片 | 色网站在线| 久久免费av电影 | 一区免费视频 | 亚洲欧美精品一区二区 | 91黄色在线观看 | 成片免费观看视频999 | 美女露久久 | 久久人人爽av| 国产成本人视频在线观看 | 五月天九九 | 亚洲高清网站 | 欧美日产在线观看 | 日韩av图片 | 99福利影院 | 国产一级二级视频 | 久草在线免 | 亚洲最新视频在线播放 | 亚洲 在线 | 国产精品色婷婷视频 | 亚洲黄色av一区 | 激情av资源网 | 九九视频免费观看视频精品 | 97视频免费观看 | 久久久九色精品国产一区二区三区 | 精品999国产| 久久久高清一区二区三区 | 中文字幕高清在线 | 国产精品福利无圣光在线一区 | 九色精品免费永久在线 | 久久精品久久综合 | av大全在线免费观看 | 国产免费成人av | 天天天天干 | 精品国产一区二区三区久久久蜜月 | 欧美日韩国产综合一区二区 | 福利视频网址 | 青青草国产免费 | 亚洲一级片在线观看 | 特级黄录像视频 | 精品国产伦一区二区三区免费 | 天天看天天操 | 玖玖精品视频 | 手机看片国产 | 国产成人免费在线观看 | 亚洲欧洲精品一区二区精品久久久 | 久久免费精彩视频 | 成人免费在线观看av | 国产成人在线综合 | 日韩69av| 精品欧美在线视频 | 国产成人一级电影 | 婷婷久月 | 五月婷婷,六月丁香 | 黄色一级大片在线观看 | 日韩av电影一区 | 成年人在线电影 | 中文在线天堂资源 | 又湿又紧又大又爽a视频国产 | 久久这里只有精品视频99 | 91精品入口 | 免费色网 | 黄色av播放 | 国产.精品.日韩.另类.中文.在线.播放 | 成人小视频在线观看免费 | 亚州欧美精品 | 国产午夜视频在线观看 | 一区二区亚洲精品 | 在线观看黄色免费视频 | 狠狠色狠狠色合久久伊人 | 五月婷婷中文网 | 九九综合久久 | 亚洲精品影院在线观看 | 亚洲精品国产精品国自产 | 国产片免费在线观看视频 | 成年美女黄网站色大片免费看 | 欧美黑人性爽 | 永久免费看av | www.色午夜,com | 在线看片视频 | av高清网站在线观看 | 欧美一区免费观看 | 99热国内精品 | 国产黄色片免费在线观看 | 天天射天天操天天色 | 久草青青在线观看 | 欧美久久久久久久久 | 久久夜色精品国产欧美乱极品 | 97精品视频在线 | 香蕉在线播放 | 十八岁免进欧美 | 久久精品视频观看 | www欧美xxxx | 日韩一区二区三区免费视频 | av在线网站大全 | 337p西西人体大胆瓣开下部 | 天堂视频一区 | 日韩理论| 婷婷深爱网 | 亚洲影院色 | 97视频免费在线 | 免费在线观看av不卡 | 波多野结衣久久精品 | 国产精品白丝jk白祙 | 人人天天夜夜 | 青春草国产视频 | 欧美久久久久久久久中文字幕 | 欧美性网站 | 国产精品福利在线 | 美女久久久久久久久久久 | 亚洲精品乱码久久久久久蜜桃动漫 | 婷婷丁香六月 | 精品久久久久久久久久岛国gif | 特级西西www44高清大胆图片 | 欧美视频在线二区 | 99精品国产一区二区三区麻豆 | 亚洲成av人影片在线观看 | 久久久免费播放 | 国产人成免费视频 | 久久国内免费视频 | 久久66热这里只有精品 | 综合网天天 | 韩国av免费观看 | 黄色网中文字幕 | 美国三级黄色大片 | 亚洲午夜精品久久久久久久久 | 欧美激情综合五月 | 日韩欧美高清 | 日韩在线观看视频中文字幕 | 国产福利一区二区三区在线观看 | 国产日韩欧美在线看 | 国产精品99久久久久久有的能看 | 国产精品亚洲综合久久 | 亚洲va天堂va欧美ⅴa在线 | 国内精品久久久久国产 | 手机看片午夜 | 美女激情影院 | 伊人开心激情 | 国产精品a级 | 五月婷影院| 在线免费性生活片 | 黄色免费高清视频 | 亚洲 综合 激情 | 开心激情婷婷 | 日韩欧美视频一区二区三区 | 国产精品久久久久婷婷 | 精品欧美在线视频 | 久久av一区二区三区亚洲 | 免费在线观看a v | 麻豆果冻剧传媒在线播放 | www.亚洲精品在线 | 国产精品成人免费一区久久羞羞 | 69国产在线观看 | 国产老熟 | 麻豆视频国产精品 | 国产又黄又猛又粗 | 特级毛片在线免费观看 | 亚洲欧洲视频 | a色视频 | 久久五月精品 | 最新av在线免费观看 | 国产专区在线 | 男女免费视频观看 | 成人午夜电影免费在线观看 | 99精品视频在线观看视频 | 国产精选在线 | 免费中文字幕 | 国内精品亚洲 | 欧美在线视频日韩 | 精品成人a区在线观看 | 国产精品久久久久久久7电影 | 欧美性生活久久 | 一区二区激情 | 国产又黄又爽又猛视频日本 | 久久久精品一区二区三区 | 婷婷成人亚洲综合国产xv88 | 久久噜噜少妇网站 | 黄色小说视频在线 | 天堂黄色片 | 亚洲精品一区二区三区新线路 | 99久久日韩精品视频免费在线观看 | 精品一区二区在线播放 | 日韩欧在线 | 色午夜 | 日韩国产精品一区 | 国产极品尤物在线 | 久久艹在线 | 808电影免费观看三年 | 免费观看全黄做爰大片国产 | 九九热在线观看视频 | 久久精品久久精品久久 | 国产91在线看 | 349k.cc看片app | 99久久久久久国产精品 | 国产精品va| 日韩高清免费电影 | 成人a免费视频 | 国产精品麻豆免费版 | 免费99视频 | 九九精品视频在线看 | 黄色av电影一级片 | 国产美女精品视频 | 欧美性生活免费 | 国产日韩欧美在线观看 | 国产中文字幕视频在线观看 | 五月婷婷久久丁香 | 中文字幕在线乱 | 五月婷婷激情六月 | 激情在线免费视频 | 亚洲视频axxx| 97国产情侣爱久久免费观看 | 在线观看免费福利 | 不卡在线一区 | 久久精美视频 | 四虎国产精品免费观看视频优播 | 99精品在线观看视频 | 青草草在线视频 | 国产精品久久久久av免费 | 一区二区三区精品在线 | 日本久久不卡视频 | 国产精品理论在线观看 | 精品v亚洲v欧美v高清v | 超碰97国产精品人人cao | 亚洲成人av影片 | 国产精品久久久久久一二三四五 | 成人国产精品一区二区 | 日韩在线视频免费看 | 九九综合在线 | 九九热免费视频在线观看 | 丁香午夜| 久久久蜜桃一区二区 | 丁香婷婷久久 | 亚洲综合视频在线 | 成人免费观看视频网站 | 国产精品一区二区av | 999热视频| 狠狠色丁香婷婷 | 91九色视频在线观看 | av在线播放快速免费阴 | wwwav视频| 成 人 黄 色 免费播放 | 在线色视频小说 | 国产精品中文 | 亚洲精品视频免费在线观看 | av一二三区| 美女国内精品自产拍在线播放 | a级黄色片视频 | 久久99久久99精品免费看小说 | 中文字幕乱码视频 | 久久成人午夜视频 | 国产伦理精品一区二区 | 欧美性生活免费 | 中文字幕在线日亚洲9 | 综合五月婷婷 | 亚洲一级黄色 | 激情综合色综合久久综合 | 天天干婷婷 | 小草av在线播放 | 99精品视频在线观看免费 | 国产精品 视频 | 精品福利国产 | 免费日韩一区二区三区 | 激情综合国产 | 精品在线观看一区二区 | 亚洲成a人片在线观看网站口工 | 国产在线免费av | 久久精品视频2 | 福利久久久 | 91在线免费视频 | а天堂中文最新一区二区三区 | 日韩一级片网址 | 久久国产露脸精品国产 | 成人在线网站观看 | 欧美99热 | av黄色在线播放 | 男女啪啪网站 | 99久久久久久国产精品 | 一级大片在线观看 | 国产专区视频 | 国产a视频免费观看 | 在线观看免费一区 | 国产不卡视频在线 | 日韩精品免费在线播放 | 久久久蜜桃一区二区 | 久久精品中文字幕少妇 | 亚洲黄色三级 | 天天草天天草 | 久久精精品| 午夜神马福利 | 国产 欧美 日本 | 成人免费亚洲 | 一级片视频免费观看 | 亚洲理论片 | 久久精品中文视频 | 国产一区国产二区在线观看 | 久久草av| 国产亚洲精品成人av久久影院 | 久久久久久久久久久久国产精品 | 亚洲黄色免费在线看 | 午夜精品一区二区国产 | 亚洲午夜激情网 | 91自拍视频在线观看 | 深夜免费福利 | 丁香婷婷综合五月 | 91男人影院| 91亚洲综合 | 亚洲视频999 | 在线观看av国产 | 伊人天天| 在线观看完整版免费 | 爱射综合| 欧美91片 | 亚洲精品成人在线 | 99在线高清视频在线播放 | 丁香六月婷婷开心婷婷网 | 亚洲天天| 91中文字幕在线播放 | 国产成人一区二区三区在线观看 | 欧美日韩高清一区二区三区 | 中文字幕中文字幕在线中文字幕三区 | 91试看| 国产精品久久久久久久久久ktv | 日本久久成人中文字幕电影 | 视频二区在线视频 | 毛片精品免费在线观看 | 天天婷婷 | 三级黄色免费片 | 婷婷免费视频 | 国产视频91在线 | 国产精品色 | 国内精品久久久久影院优 | 在线观看中文字幕2021 | 欧美极品在线播放 | 成 人 黄 色 免费播放 | 中文字幕在线国产精品 | 精品久久一二三区 | 在线免费观看视频a | 在线看的av网站 | 久草在线免费电影 | 成人av动漫在线观看 | 精品综合久久久 | 999久久国精品免费观看网站 | 成人av影视 | 一级国产视频 | 国产97色| 亚洲精品视频在线播放 | 91成人短视频在线观看 | 日韩理论视频 | 少妇bbb搡bbbb搡bbbb′ | 在线观看亚洲电影 | 天天操月月操 | 婷婷六月天丁香 | 国产精品一区二区久久精品爱微奶 | 91chinese在线| 97超视频免费观看 | 在线观看黄色大片 | 日本中文在线观看 | 欧美精品九九99久久 | 精品国产亚洲一区二区麻豆 | www免费看| 免费在线观看日韩视频 | 久久视频99 | 天天综合网天天 | av高清免费在线 | 天堂在线v | 亚洲一区二区三区91 | 香蕉久草| 天天做天天爱天天爽综合网 | 成人av电影免费在线播放 | 日韩欧美在线国产 | 国产黄在线播放 | 精品无人国产偷自产在线 | 天天操天天干天天综合网 | 国产91精品看黄网站在线观看动漫 | 久久免费资源 | 欧美激情视频一区 | 国产热re99久久6国产精品 | 91精品91| 日日弄天天弄美女bbbb | 国产色婷婷精品综合在线手机播放 | 九九九九免费视频 | 亚洲成人动漫在线观看 | 国产精品久久久久久久久久久久午夜片 | 久久黄色网页 | 久草在线综合 | 国产精品久久久久久欧美 | www.com黄 | 欧美一级欧美一级 | 视频一区二区免费 | 久久手机免费观看 | 1000部18岁以下禁看视频 | 日韩一区二区三区在线看 | 色老板在线视频 | 韩日色视频| 色综合天天色综合 | 97超碰色| 久久久免费少妇 | 国产精品免费一区二区三区在线观看 | 日韩精品1区2区 | 美女视频久久 | 国产精品一区二区三区在线看 | 婷婷综合伊人 | 成人午夜电影在线播放 | 日韩欧美视频免费在线观看 | 91在线区| 国产剧情一区二区在线观看 | 九九三级毛片 | 国产一二区在线观看 | 亚洲成人av电影 | 天天操天天干天天操天天干 | 亚洲精品在线看 | 成人在线免费视频观看 | 日韩在线观看不卡 | 国产中文a| 日韩视频一区二区在线 | 国产成人在线精品 | 国产中文视频 | a级一a一级在线观看 | 亚洲h在线播放在线观看h | 久久视频在线视频 | h动漫中文字幕 | 黄色特级片 | 91精品视频在线免费观看 | 一区在线免费观看 | 免费看黄网站在线 | 国产精品亚洲精品 | 国产一区二区在线观看免费 | 91视频91色 | 国产精品免费视频一区二区 | 三级动图 | 免费精品人在线二线三线 | 久久91网| 97超级碰碰碰视频在线观看 | 国产麻豆精品传媒av国产下载 | 国产区网址 | www.com在线观看 | 久草在线视频看看 | 久久精品综合网 | 韩国av一区二区三区在线观看 | 久久专区 | 免费亚洲黄色 | 天天操天天曰 | 天天操天天干天天爽 | 天天曰天天 | 91污污 | 97超碰在线久草超碰在线观看 | 亚洲一区不卡视频 | 国产美女精品视频免费观看 | 99精品视频在线播放免费 | 日本精品视频在线 | 久久美女高清视频 | 99视频精品 | 国产成人精品亚洲 | 97超碰超碰久久福利超碰 | 国产裸体无遮挡 | 一级成人在线 | 色婷婷成人网 | 国产综合婷婷 | 久久免费在线观看 | av在线看片 | 麻豆视频免费入口 | 日韩欧美一区二区三区在线观看 | 久久久免费视频播放 | 香蕉视频在线视频 | 91人人揉日日捏人人看 | av蜜桃在线 | 日韩在线观看a | 国产日产高清dvd碟片 | 91精品毛片| 免费国产在线精品 | 五月天视频网 | 天天干天天拍天天操天天拍 | 婷婷丁香社区 | 日韩高清不卡一区二区三区 | 国产伦理久久精品久久久久_ | 亚洲电影免费 | 精品久久久久一区二区国产 | 久久久亚洲麻豆日韩精品一区三区 | 5月丁香婷婷综合 | 久久亚洲欧美日韩精品专区 | 欧美另类成人 | 91精品国产高清 | 日韩动漫免费观看高清完整版在线观看 | 日韩一区二区免费播放 | 国产黄色片网站 | 91av在线免费 | 九九热视频在线免费观看 | 亚洲粉嫩av | 97在线免费观看 | 一区二区伦理电影 | 国产精品久久婷婷六月丁香 | 国产97超碰| 国产麻豆视频免费观看 | 在线天堂视频 | 伊人网综合在线观看 | 国产亚洲精品久久 | 久久99久| 日本中文字幕网址 | 国产录像在线观看 | 永久中文字幕 | 伊甸园av在线 | 中文字幕免费看 | av在线成人| 天天操操操操操 | 国产精品美女久久久久久免费 | 超碰午夜 | 中文字幕在线免费看 | 精品亚洲男同gayvideo网站 | 免费观看国产精品视频 | 91传媒在线播放 | 日日夜色 | 久久成人一区 | 色综合久久综合网 | 九九九九免费视频 | 久久久综合电影 | 9ⅰ精品久久久久久久久中文字幕 | 美女免费黄网站 | 亚洲伊人天堂 | 国内精品久久久久影院男同志 | 欧美日韩亚洲在线观看 | 五月婷婷丁香综合 | 国产成人精品一区二区三区网站观看 | 在线看国产视频 | 中文字幕有码在线播放 | 国产系列在线观看 | 在线观看亚洲免费视频 | 日韩欧美在线一区 | 在线韩国电影免费观影完整版 | 日韩精品中文字幕在线不卡尤物 | 超碰大片| 国产99久久久精品 | 欧美另类色图 | 91精品啪 | 国产精品一区二区美女视频免费看 | 探花视频免费在线观看 | 三级黄色片子 | 黄色一及电影 | 天天操网站 | 国产在线精品国自产拍影院 | 人人添人人澡人人澡人人人爽 | 亚洲理论片在线观看 | 亚州天堂 | 久操视频在线观看 | 国产69精品久久99不卡的观看体验 | 91网在线| 综合久久久久久久久 | 色视频网站免费观看 | 中文网丁香综合网 | 久久精品综合网 | 久久久久国产一区二区三区四区 | 国内精品久久久久影院日本资源 | 色综合天天综合 | 久久久久久久久黄色 | 91免费版在线观看 | 国产 在线观看 | 欧美激情综合色综合啪啪五月 | 九九久久免费 | 免费观看av | 亚洲国产精品va在线看黑人 | 亚洲精品午夜国产va久久成人 | 国产xvideos免费视频播放 | 日韩三级精品 | 国产亚洲在线 | 免费av网址在线观看 | 免费观看性生活大片 | 不卡的一区二区三区 | 日本精品在线看 | 久久不卡日韩美女 | 免费在线观看a v | 在线观看91网站 | 欧美午夜寂寞影院 | 视频在线观看亚洲 | 亚洲一级电影视频 | 99精品视频免费观看 | 欧美99热 | 午夜电影av | 国产精品私人影院 | 国产精品视频内 | 亚洲国产精品激情在线观看 | 青青河边草观看完整版高清 | 精品在线观看一区二区 | 麻豆一区二区 | 国产午夜小视频 | 色诱亚洲精品久久久久久 | 精品国产一二三 | 99精品视频精品精品视频 | 天天射天天干天天爽 | 亚洲狠狠丁香婷婷综合久久久 | 日韩中文字幕a | 狠狠干夜夜爱 | 日韩激情中文字幕 | 久久这里只有精品1 | 色天天综合久久久久综合片 | av电影在线不卡 | www.色婷婷.com | 99国内精品久久久久久久 | 亚洲国产影院av久久久久 | 国产在线精品一区二区不卡了 | 五月天中文字幕mv在线 | 色综合天天综合网国产成人网 | 国产黄色片一级 | 亚洲毛片视频 | 黄污污网站 | 国内精品久久久久久久久久清纯 | 色小说在线 | 欧美成人aa | 在线成人一区 | 亚洲午夜精品久久久久久久久久久久 | 国产精品中文字幕在线播放 | 狠狠色狠狠色终合网 | 国产九九热视频 | 丁香资源影视免费观看 | 91视视频在线直接观看在线看网页在线看 | 国产精品一区二区在线看 | 日韩丝袜| 国产无套精品久久久久久 | 欧美国产不卡 | 在线国产观看 | 久久久免费精品国产一区二区 | 在线网站黄 | 天天色天 | 国产精品伦一区二区三区视频 | 91干干干 | 国产男女免费完整视频 | 久久久久免费视频 | 在线午夜av | 亚洲日本中文字幕在线观看 | 欧美一二在线 | 97成人在线免费视频 | 色中色综合 | 一区二区av | 97日日碰人人模人人澡分享吧 | 99久久精品无码一区二区毛片 | 国产这里只有精品 | www国产亚洲 | 特级黄色视频毛片 | 韩日电影在线免费看 | 在线观看中文字幕一区 | 国精产品999国精产品视频 | 久久不射电影院 | 99人久久精品视频最新地址 | 国产 日韩 欧美 中文 在线播放 | 婷婷五月色综合 | 欧美日韩破处 | 亚洲国产精品成人av | 天天躁天天狠天天透 | 日韩久久一区二区 | 色婷在线 | 一区二区三区四区五区在线视频 | 国产精品久久99精品毛片三a | 伊人精品在线 | 日韩黄色免费 | 在线岛国av | 久久精品网| 亚洲精品永久免费视频 | 久久综合久久鬼 | 正在播放 久久 | 欧美久久久一区二区三区 | 欧美日韩成人 | 精品亚洲免费 | 成人a视频片观看免费 | 午夜视频欧美 | 日本黄色免费在线观看 | 成人在线免费观看视视频 | 狠狠的日日 | 四虎在线视频 | 免费在线国产精品 | 国产精品毛片久久久久久 | 国产精品video | 亚洲一区精品二人人爽久久 | 日韩电影中文,亚洲精品乱码 | 天天操天天操天天操 | 黄色国产大片 | 成年人在线免费看视频 | 国产一区二区在线播放视频 | 美女视频黄是免费的 | 国产高清日韩欧美 | 主播av在线 | 中文字幕在线观看免费高清电影 | 色橹橹欧美在线观看视频高清 | 最近日韩免费视频 | 国产精品 视频 | 在线观看黄色大片 | 中文字幕欲求不满 | 久草精品视频在线看网站免费 | 免费av大全| 精品在线小视频 | 国产精品电影在线 | 中文日韩在线视频 | 成年人免费在线观看网站 | 日韩字幕 | 国产精品黑丝在线观看 | 国产九色视频在线观看 | 色天天中文 | 麻豆国产在线视频 | 日本久久高清视频 | 人人澡人人爱 | 亚洲免费在线视频 | 中文字幕在线播放av | 麻豆视频国产精品 | 久草在线手机视频 | 欧美最爽乱淫视频播放 | 91欧美视频网站 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久久久久久久久网站 | 国产一级片免费播放 | 中文字幕视频播放 | 国产亚洲视频在线免费观看 | 96精品视频 | 一区二区三区中文字幕在线观看 | 在线欧美日韩 | 少妇av网 | 91亚洲狠狠婷婷综合久久久 | 综合久色| 亚洲自拍av在线 | 亚洲视频资源在线 | 久久久久成人免费 | 国产综合91 | 久久久久久视频 | 亚洲国产精品成人女人久久 | 久久精品国产一区二区 | 天天射天天射天天射 | 久久国内视频 | 午夜av大片 | 亚洲电影院 | 福利一区二区 | 午夜精品福利在线 | 91在线中字 | 国产成人精品一区二三区 | 午夜婷婷在线播放 | 欧美日韩国语 | 在线观看日本高清mv视频 | 国产福利免费在线观看 | 一区二区伦理电影 | 视频一区亚洲 | 九九在线免费视频 | 波多野结衣一区二区三区中文字幕 | 日韩视频免费观看高清 | 精品国产成人av在线免 | 美女视频久久久 | 亚洲精品美女久久 | 精品久久久成人 | 日韩va在线观看 | 99免费看片| 久草在线最新免费 | av 一区二区三区 | 蜜臀一区二区三区精品免费视频 | 国产精品毛片完整版 | 在线视频观看国产 | 在线午夜av| 欧美视频日韩视频 | 91视频在线观看免费 | 九九热有精品 | 人人精品久久 | 97天堂 | 热久久这里只有精品 | 中文字幕免费 | 国产精品中文久久久久久久 | 久久久久欧美精品999 | 在线观看日本韩国电影 | 久久福利电影 | 91网在线观看 | 一区二区视频免费在线观看 | 又黄又爽又刺激视频 | 精品999在线观看 | 9999精品免费视频 | 99久久夜色精品国产亚洲96 | 91爱爱免费观看 | 中文字幕乱码电影 | 国产中文伊人 | 久久久久久97三级 | 中文字幕在线播放一区二区 | 最近免费中文字幕大全高清10 | 成人av一区二区兰花在线播放 | 在线va网站 | 色综合久久中文综合久久牛 | 干天天 | 久草| 午夜av激情 | 精品色999 | 免费在线观看国产黄 | 久久国产精品久久久久 | 米奇影视7777 | 久色网 | 字幕网在线观看 | 九九免费在线视频 | 美女网站在线播放 | 粉嫩高清一区二区三区 | 91欧美日韩国产 | 99久久久久免费精品国产 | 在线亚洲免费视频 | 韩国精品在线观看 | 中日韩三级视频 | 91大片成人网 | 久久久久久久久艹 | 日韩中文字幕在线不卡 | 免费高清影视 | 成人免费影院 | 国产日韩欧美精品在线观看 | 色婷婷丁香| 六月丁香六月婷婷 | 色欧美88888久久久久久影院 | 亚洲最大激情中文字幕 | 狠狠操欧美| 国产一区成人在线 | 亚洲自拍偷拍色图 | 精品欧美日韩 | 久久精品视频2 | 成人久久18免费网站图片 | 色综合久久久久久中文网 | 色99中文字幕 | 国产精品原创视频 | 日本成人免费在线观看 | 久久精品99久久久久久2456 | 国产成人精品综合 | 免费黄色网址大全 |