找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
楼主:

Dreamweaver构建Blog全程实录

[复制链接]
 楼主| 发表于 2005 年 5 月 18 日 00:10:05 | 显示全部楼层
第七章  Doking's BLOG用户登录页面的实现
  已完成用户的注册,用户现在可以登录到网站中,发表笔记、笔记回复。
7.1  用户登录服务器行为
  用户登录,经过验证正确,页面换了个用户登录后的面貌。
  (1)打开模板bkblog.dwt.aspx,在左边栏插入表格yhtab,并设计如图7-1黑色圈中所示。
  (2)插入关于YH表查询的数据集yhlog,以验证用户登录的正确。
  ①将数据集yhlog设为筛选,如图7-2所示。

图7-1  表格yhtab的设计图  

图7-2  插入数据集yhlog
  ②点击“高级”按钮,切换到高级数据集模式,如图7-3所示。

图7-3  插入数据集yhlog
  ③点击参数“+”,弹出“编辑参数”对话框,填写名称为“@Logpas”,类型选择“WChar”,如图7-4所示。

图7-4  添加参加Logpass
  ④点击“建立”按钮,弹出“生成值”对话框,名称为“Logpass”,源选择“表单变量”,如图7-5所示。

图7-5  生成值对话框
  ⑤单击“确定”保存设置,一直回到数据集yhlog对话框。修改SQL语句,修改结果如图7-6所示。

图7-6  对数据集yhlog进行修改
  (3)在标签之前,插入如图7-7红色圈所示的代码。

图7-7  定义函数uselog
  (4)拖拉模板bkblog.dwt.aspx中的数据集yhlog下的字段YHNAME到页面任何位置,再拖拉数据集yhlog下的字段YHID在其后,代码如下:
  把上面代码改为:
  (5)插入关于ZT表查询的数据集bjre,返回该用户发表的学习笔记总数。
  ①将数据集设为“筛选”,筛选字段为:YHID,筛选方式为:输入值,如图7-8所示。

图7-8  插入数据集bjre
  ②点击“高级”,切换到高级数据集模式,将SQL修改成如图7-9所示。

图7-9  修改数据集bjre
  ③点击“编辑”按钮,在文本域中把YHID改为session(”USEID”),结果如图7-10所示。

图7-10  编辑数据集bire的参数
  ④按“确定”键,再按“确定”键完成数据集bire。
  (6)插入关于HF表查询的数据集plre,返回该用户发表的学习笔记总数。除了查询表不同外,其他设置与数据集bjre相同(可以先复制粘贴数据集plre,再进行修改)。
  (7)拖拉数据集bjre下的字段Eprl100到表格yhtab中的“发表笔记:”之后;拖拉数据集plre下的字段Eprl100到表格yhtab中的“发表回复:”之后。
  (8)把光标移到表格yhtab中的“用户信息”之前,点击ASP.NET快捷菜单下的“绑定数据”,结果如图7-11所示。

图7-11  插入绑定数据
  保持光标在图71红色垂直线的位置,输入:session(“USENAME”)
  (9)返回设计视图,给表格yhtab中的“发表新笔记”建立超级链接:../ztfb.aspx
  给表格yhtab中的“修改资料”建立超级链接:../yhsg.aspx
  结果如图7-12所示。

图7-12  表格yhtab的修改
  (10)选择表格yhtab,返回代码视图,按“Ctrl+X”或在【编辑】菜单中选择“剪切”,老方法:把它粘贴到新建立的记事本或Word文档中。
  (11)返回设计视图,选择表格logtab,把光标移至如图7-13所示的红色垂直线的位置。

图7-13  移至光标所在位置
  (12)输入代码,如图7-14红色圈中所示。

图7-14  在标签之前插入代码
  (13)把光标移到Yhlogfrm结束标签之后,输入代码,如图7-15红色圈中所示。

图7-15  标签之后插入代码
  (14)把第7步中剪切的表格yhtab粘贴在代码代码之前,之后。
  (15)保存模板bkblog.dwt.aspx。打开所有基本于bkblog.dwt.aspx模板建立的网页,分别在【服务器行为】中把bkblog.dwt.aspx模板中新添加的数据集yhlog、bjre、plre,复制、粘贴过来。再插入如第3步骤的代码,就OK了!
  (16)在IE浏览器中浏览index.aspx,用户登录前如图7-16所示,用户登录成功如图7-17所示。记得ASP.NET是不支持gb2312编码传输,要进行修改,上一章中已说过了,以后不再哆嗦。

图7-16  用户登录前

图7-17  用户登录后
  提醒:为了方便读者学习,教程分成模块来写。实际上一开始就得在模板中所有功能做好,特别是在模板必须插入的数据集及页头载入程序,因为这些在后期修改后不能更新网页。
7.2  用户发表回复信息
  用户登录后,就可以对 各学习笔记发表回复信息。
  (1)打开hf.aspx,插入表单yhplfrm,再插入表格Hftab,在表格中插入服务器文本框控件,ID为HFNAME;插入服务器文本区域控件,ID为HFTEXT;插入“发表”按钮,ID为plbottom,将其设为禁用,结果如图7-18所示。

图7-18  表格Hftab的有关设计
  (3)绑定数据session(“usename”)到表格Hftab中的“姓名:”之后(方法如7.1第8步骤绑定“用户信息”前的用户名)。
  (4)拖拉数据集Ztre下的字段ZTNAME到文本框HFNAME,在文本框HFNAME的属性窗口中,把初始值:
  改为:
  (5)选择按钮plbottom,右键选择状态栏,在弹出快捷菜单中选择“编辑标签”,如图7-19所示。

图7-19  选择快捷编辑标签
  (6)在弹出的快捷编辑标签中把:
disabled=”true”
  改为:
disabled=nothing),false,true) %>
  结果如图7-20所示。

图7-20  快捷编辑标签
  即设按钮plbottom,当用户登录前为禁用,用户登录后为可用。
  (4)添加插入记录服务器行为,提交值来自表单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=''
  改为:
CommandText=''
  (7)按次序添加参数:
'  Type="Integer"   />
      '  Type="Integer"   />
  结果如图7-23所示。

图7-23  插入记录(dkconn,HF)代码的修改结果
  (8)在发布回复信息前,得对回复标题和回复的内容进行验证,防止发布空标题或空内容的回复信息。参照6.2节中插入RequiredFieldValidato验证控件方法,分别给文本框HFNAME、文本区域控件HFTEXT添加RequiredFieldValidato验证控件。
  (9)用户发布回复信息时,还得给学习笔记的回复总数自动增加1,也就是给ZT表下的HFZS字段自动增加1。
  ①在【服务器行为】面板中,插入“更新记录”服务器行为,设更新表格为ZT,暂时设提交值,来自表单yhplfrm,暂时设:‘HFZS’从‘HFTEXT’获取值(作为‘Integer’);暂时设:‘ZTID’将‘HFTEXT’ 用作‘Integer’来选择记录
  ②为什么全是暂时的?那是为了先让Dreamweaver自动生成一些代码,后方便修改。先切换代码视图,找到更新记录(dkconn,ZT)的原代码,找到其中的代码:
Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" />  
Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" />  
  把它改为:
' Type="Integer" />
' Type="Integer" />
  (10)保存hf.aspx。
7.3  用户发表学习笔记
  用户登录后,除了可以发表回复信息外,还可以发表新的学习笔记。
  (1)新建由模板bkblog.dwt.aspx生成动态网页ztfb.aspx,在mainbody可编辑区域中插入一列五行的表格ztfb。
  (2)添加数据集zthb,设筛选为YHID,并设参数为阶段变量USENAME,其设计如图7-24所示。

图7-24  添加数据集zthb
  (3)拖拉数据集下的有关字段到表格ztfb中,方法参照第4.2节的方法。
  (4)打开hf.aspx,复制表单yhplfrm,把它粘贴到网页ztfb.aspx中的表格zthb的第五行,清空文本框HFNAME,并进行必要的修改,结果如图7-25所示。

图7-25  表格ztfb的设计
  (2)把文本框HFNAME改名为ZTNAME,文本区域HFTEXT改名为ZTTEXT。
  (3)设表格zthb的第一、二、三行为数据集zthb的重复区域,再在表格的第四行中插入数据集导航。
  (4)插入列表/菜单LMID,点击其属性窗口中的列表值,在弹出的列表值对话框中,输入项目标签为:设计项;值为:1,按“确定”键,如图7-26所示。

图7-26  LMID列表值对话框
  (5)保持列表/菜单LMIDl在选,切换到代码视图,找到列表/菜单LMID的原代码,拖拉数据集menuda下的字段LMID,替换value等于号的数据1,如图7-27所示。

图7-27  拖拉数据集menuda下的字段LMID
  (6)拖拉数据集menuda下的字段LM,替换“设计项”,结果如图7-28所示。

图7-28  拖拉数据集menuda下的字段LM
  (7)选择图7-3-5红色圈中的代码,并把它定义为数据集menuda的重复区域,结果如图7-29所示。

图7-29  定义列表中的数据集menuda重复区域
  (8)添加“插入记录”服务器行为,其设置如图7-30所示。

图7-30  添加“插入记录”服务器行为
  (9)切换到代码视图,找到插入记录(dkconn,ZT)的原代码,找到代码:
CommandText=''
  改为:
CommandText=''
  (10)添加参数:
' Type="Integer" />
  结果如图7-31所示。

图7-31  插入记录(dkconn,ZT)修改的原代码
7.4  修改用户资料
  修改用户资料页面设计与用户注册页面设计基本相同。
  (1)打开注册页面yhlogok.aspx,把它另存为yhsg.aspx,并进行适当的修改,结果如图7-32所示。

图7-32  yhsg.aspx页面设计
  (2)删除“插入记录(dkconn,YH)”服务器行为,添加数据集yhsg,如图7-33所示。

图7-33  插入数据集yhsg
  (3)绑定数据集yhsg下的有关字段到相应的文本框中,结果如图7-34所示。

图7-34  绑定动态文本到有关文本框中
  (4)添加更新记录服务器行为,暂时设:’YHID’将’YHNAME’用作’Integer’来选择记录,结果如图7-35所示。

图7-35  添加更记录服务器行为
  (5)在更记录的原代码中,找到代码:
Nothing), Request.Form("YHNAME"), "") %>' Type="Integer" />  
  将其改为:
' Type="Integer" />  
  (6)保存yhsg.aspx。
第七章  Doking's BLOG用户登录页面的实现
  已完成用户的注册,用户现在可以登录到网站中,发表笔记、笔记回复。
7.1  用户登录服务器行为
  用户登录,经过验证正确,页面换了个用户登录后的面貌。
  (1)打开模板bkblog.dwt.aspx,在左边栏插入表格yhtab,并设计如图7-1黑色圈中所示。
  (2)插入关于YH表查询的数据集yhlog,以验证用户登录的正确。
  ①将数据集yhlog设为筛选,如图7-2所示。

图7-1  表格yhtab的设计图  

图7-2  插入数据集yhlog
  ②点击“高级”按钮,切换到高级数据集模式,如图7-3所示。

图7-3  插入数据集yhlog
  ③点击参数“+”,弹出“编辑参数”对话框,填写名称为“@Logpas”,类型选择“WChar”,如图7-4所示。

图7-4  添加参加Logpass
  ④点击“建立”按钮,弹出“生成值”对话框,名称为“Logpass”,源选择“表单变量”,如图7-5所示。

图7-5  生成值对话框
  ⑤单击“确定”保存设置,一直回到数据集yhlog对话框。修改SQL语句,修改结果如图7-6所示。

图7-6  对数据集yhlog进行修改
  (3)在标签之前,插入如图7-7红色圈所示的代码。

图7-7  定义函数uselog
  (4)拖拉模板bkblog.dwt.aspx中的数据集yhlog下的字段YHNAME到页面任何位置,再拖拉数据集yhlog下的字段YHID在其后,代码如下:
  把上面代码改为:
  (5)插入关于ZT表查询的数据集bjre,返回该用户发表的学习笔记总数。
  ①将数据集设为“筛选”,筛选字段为:YHID,筛选方式为:输入值,如图7-8所示。

图7-8  插入数据集bjre
  ②点击“高级”,切换到高级数据集模式,将SQL修改成如图7-9所示。

图7-9  修改数据集bjre
  ③点击“编辑”按钮,在文本域中把YHID改为session(”USEID”),结果如图7-10所示。

图7-10  编辑数据集bire的参数
  ④按“确定”键,再按“确定”键完成数据集bire。
  (6)插入关于HF表查询的数据集plre,返回该用户发表的学习笔记总数。除了查询表不同外,其他设置与数据集bjre相同(可以先复制粘贴数据集plre,再进行修改)。
  (7)拖拉数据集bjre下的字段Eprl100到表格yhtab中的“发表笔记:”之后;拖拉数据集plre下的字段Eprl100到表格yhtab中的“发表回复:”之后。
  (8)把光标移到表格yhtab中的“用户信息”之前,点击ASP.NET快捷菜单下的“绑定数据”,结果如图7-11所示。

图7-11  插入绑定数据
  保持光标在图71红色垂直线的位置,输入:session(“USENAME”)
  (9)返回设计视图,给表格yhtab中的“发表新笔记”建立超级链接:../ztfb.aspx
  给表格yhtab中的“修改资料”建立超级链接:../yhsg.aspx
  结果如图7-12所示。

图7-12  表格yhtab的修改
  (10)选择表格yhtab,返回代码视图,按“Ctrl+X”或在【编辑】菜单中选择“剪切”,老方法:把它粘贴到新建立的记事本或Word文档中。
  (11)返回设计视图,选择表格logtab,把光标移至如图7-13所示的红色垂直线的位置。

图7-13  移至光标所在位置
  (12)输入代码,如图7-14红色圈中所示。

图7-14  在标签之前插入代码
  (13)把光标移到Yhlogfrm结束标签之后,输入代码,如图7-15红色圈中所示。

图7-15  标签之后插入代码
  (14)把第7步中剪切的表格yhtab粘贴在代码代码之前,之后。
  (15)保存模板bkblog.dwt.aspx。打开所有基本于bkblog.dwt.aspx模板建立的网页,分别在【服务器行为】中把bkblog.dwt.aspx模板中新添加的数据集yhlog、bjre、plre,复制、粘贴过来。再插入如第3步骤的代码,就OK了!
  (16)在IE浏览器中浏览index.aspx,用户登录前如图7-16所示,用户登录成功如图7-17所示。记得ASP.NET是不支持gb2312编码传输,要进行修改,上一章中已说过了,以后不再哆嗦。

图7-16  用户登录前

图7-17  用户登录后
  提醒:为了方便读者学习,教程分成模块来写。实际上一开始就得在模板中所有功能做好,特别是在模板必须插入的数据集及页头载入程序,因为这些在后期修改后不能更新网页。
7.2  用户发表回复信息
  用户登录后,就可以对 各学习笔记发表回复信息。
  (1)打开hf.aspx,插入表单yhplfrm,再插入表格Hftab,在表格中插入服务器文本框控件,ID为HFNAME;插入服务器文本区域控件,ID为HFTEXT;插入“发表”按钮,ID为plbottom,将其设为禁用,结果如图7-18所示。

图7-18  表格Hftab的有关设计
  (3)绑定数据session(“usename”)到表格Hftab中的“姓名:”之后(方法如7.1第8步骤绑定“用户信息”前的用户名)。
  (4)拖拉数据集Ztre下的字段ZTNAME到文本框HFNAME,在文本框HFNAME的属性窗口中,把初始值:
  改为:
  (5)选择按钮plbottom,右键选择状态栏,在弹出快捷菜单中选择“编辑标签”,如图7-19所示。

图7-19  选择快捷编辑标签
  (6)在弹出的快捷编辑标签中把:
disabled=”true”
  改为:
disabled=nothing),false,true) %>
  结果如图7-20所示。

图7-20  快捷编辑标签
  即设按钮plbottom,当用户登录前为禁用,用户登录后为可用。
  (4)添加插入记录服务器行为,提交值来自表单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=''
  改为:
CommandText=''
  (7)按次序添加参数:
'  Type="Integer"   />
      '  Type="Integer"   />
  结果如图7-23所示。

图7-23  插入记录(dkconn,HF)代码的修改结果
  (8)在发布回复信息前,得对回复标题和回复的内容进行验证,防止发布空标题或空内容的回复信息。参照6.2节中插入RequiredFieldValidato验证控件方法,分别给文本框HFNAME、文本区域控件HFTEXT添加RequiredFieldValidato验证控件。
  (9)用户发布回复信息时,还得给学习笔记的回复总数自动增加1,也就是给ZT表下的HFZS字段自动增加1。
  ①在【服务器行为】面板中,插入“更新记录”服务器行为,设更新表格为ZT,暂时设提交值,来自表单yhplfrm,暂时设:‘HFZS’从‘HFTEXT’获取值(作为‘Integer’);暂时设:‘ZTID’将‘HFTEXT’ 用作‘Integer’来选择记录
  ②为什么全是暂时的?那是为了先让Dreamweaver自动生成一些代码,后方便修改。先切换代码视图,找到更新记录(dkconn,ZT)的原代码,找到其中的代码:
Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" />  
Nothing), Request.Form("HFTEXT"), "") %>' Type="Integer" />  
  把它改为:
' Type="Integer" />
' Type="Integer" />
  (10)保存hf.aspx。
7.3  用户发表学习笔记
  用户登录后,除了可以发表回复信息外,还可以发表新的学习笔记。
  (1)新建由模板bkblog.dwt.aspx生成动态网页ztfb.aspx,在mainbody可编辑区域中插入一列五行的表格ztfb。
  (2)添加数据集zthb,设筛选为YHID,并设参数为阶段变量USENAME,其设计如图7-24所示。

图7-24  添加数据集zthb
  (3)拖拉数据集下的有关字段到表格ztfb中,方法参照第4.2节的方法。
  (4)打开hf.aspx,复制表单yhplfrm,把它粘贴到网页ztfb.aspx中的表格zthb的第五行,清空文本框HFNAME,并进行必要的修改,结果如图7-25所示。

图7-25  表格ztfb的设计
  (2)把文本框HFNAME改名为ZTNAME,文本区域HFTEXT改名为ZTTEXT。
  (3)设表格zthb的第一、二、三行为数据集zthb的重复区域,再在表格的第四行中插入数据集导航。
  (4)插入列表/菜单LMID,点击其属性窗口中的列表值,在弹出的列表值对话框中,输入项目标签为:设计项;值为:1,按“确定”键,如图7-26所示。

图7-26  LMID列表值对话框
  (5)保持列表/菜单LMIDl在选,切换到代码视图,找到列表/菜单LMID的原代码,拖拉数据集menuda下的字段LMID,替换value等于号的数据1,如图7-27所示。

图7-27  拖拉数据集menuda下的字段LMID
  (6)拖拉数据集menuda下的字段LM,替换“设计项”,结果如图7-28所示。

图7-28  拖拉数据集menuda下的字段LM
  (7)选择图7-3-5红色圈中的代码,并把它定义为数据集menuda的重复区域,结果如图7-29所示。

图7-29  定义列表中的数据集menuda重复区域
  (8)添加“插入记录”服务器行为,其设置如图7-30所示。

图7-30  添加“插入记录”服务器行为
  (9)切换到代码视图,找到插入记录(dkconn,ZT)的原代码,找到代码:
CommandText=''
  改为:
CommandText=''
  (10)添加参数:
' Type="Integer" />
  结果如图7-31所示。

图7-31  插入记录(dkconn,ZT)修改的原代码
7.4  修改用户资料
  修改用户资料页面设计与用户注册页面设计基本相同。
  (1)打开注册页面yhlogok.aspx,把它另存为yhsg.aspx,并进行适当的修改,结果如图7-32所示。

图7-32  yhsg.aspx页面设计
  (2)删除“插入记录(dkconn,YH)”服务器行为,添加数据集yhsg,如图7-33所示。

图7-33  插入数据集yhsg
  (3)绑定数据集yhsg下的有关字段到相应的文本框中,结果如图7-34所示。

图7-34  绑定动态文本到有关文本框中
  (4)添加更新记录服务器行为,暂时设:’YHID’将’YHNAME’用作’Integer’来选择记录,结果如图7-35所示。

图7-35  添加更记录服务器行为
  (5)在更记录的原代码中,找到代码:
Nothing), Request.Form("YHNAME"), "") %>' Type="Integer" />  
  将其改为:
' Type="Integer" />  
  (6)保存yhsg.aspx。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 5 月 18 日 00:10:30 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
第八章  管理员页面的实现
  目前为止,Doking's BLOG基本功能已经实现了。但得管理员至高无上的“生死大权”,严厉管理用户发表的笔记和回复,防止用户在Doking's BLOG发表有危害性信息。
8.1  管理员登录的实现
  (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)切换到代码视图,在标签之前,插入如图8-5所示的代码。

图8-5  在标签之前插入代码
  (7)保存gllogin.aspx。
8.2  学习笔记管理
  从上节中,可以看到管理员登录成功后,链接到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)在状态栏下右键选择打开快速编辑标签窗口,在其标签中添加代码:
style="visibility: nothing,"visible","hidden")%>" value=""
  如图8-11深蓝色所示。

图8-11  快速编辑标签
  (7)选择按钮GLY,在状态栏下右键选择打开快速编辑标签窗口,在其标签中添加代码:
style="visibility: nothing,"visible","hidden")%>" value=""
  (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中插入的代码
8.3  笔记回复管理
  笔记回复管理与学习笔记管理的道理和方法是一致的。
  (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结束标签移到表格ztre标签之后,在表格Hftab标签之后插入如图8-22红色圈所示的代码。

图8-22  在表格Hftab标签之后插代码
  提醒:这里还有一个管理员退出登录的问题,那就留给读者动动脑筋。提示一下,只要设session(“GLY”)为空值或空字串就可以了。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 5 月 18 日 00:10:57 | 显示全部楼层
第九章  站点统计的实现
  目前为止,Doking's BLOG已可以运作了。但可以发现左边的导航还是空空的,下面的章节主要为左边导航添加功能菜单。这一章主要讲解在左边导航上添加有关站点统计。
9.1  基本页面设计
  打开模板dkblog.dwt.aspx,在左边导航上添加文字设计如图9-1所示。

图9-1  模板dkblog.dwt.aspx左边导航文字设计
9.2  在线人数统计
  在线人数统计的实现得依靠global.asax文件。global.asax文件包括了处理应用程序层次事件的程序代码,就像在经典ASP中的Global.asa文件。在Global.asax中的标签包含了面对应用程序层次的事件处理器。第一组的事件处理器负责处理应用程序的开始以及停止事件。一个开始事件会在任何页面第一次被请求的时候被唤醒。而应用程序终止事件则会在应用程序关闭的时候被唤醒。
建立global.asax文件,一般得手编。现在可以Visual Web Developer 2005这个软件中快速建立global.asax文件。
  (1)下载、安装Visual Web Developer 2005。
  Visual Web Developer 2005 下载地址:
http://go.microsoft.com/fwlink/?linkid=30092&clcid=0x409
  下载后安装,运行后其欢迎界面如图9-2所示。

图9-2  Visual Web Developer 2005运行欢迎界面
  (2)在Visual Web Developer 2005运行后,选择【File】→【New File】,在弹出【New File】对话框中,展开“Categories”的“Web”选项,并选择“Visual Basic”,选择“Templates”中的“Global Application Class”,如图9-3所示。

图9-3  新建立Global Application Class
  (3)单击“Open”按钮,新建交一个新的Glbal文件如图9-4所示。

图9-4  一个新建立的Glbal文件
  (4)对Glbal文件进行修改,修改后如图9-5所示。

图9-5  修改Glbal文件
  (5)保存Glbal文件到D:\dkkblog根目录下,文件名为Glbal.asax。
  (6)返回到Dreamweaver中,打开模板dkblog.dwt.aspx,并切换成代码视图,找到代码:
本站在线人数统计:人
  并改为:
本站在线人数统计: 人
  (7)保存模板。
  提醒:这里用Visual Web Developer 2005建立Glball.asax文件,只为了方便读者,同时也让读者接触一下Visual Web Developer 2005,这个新软件功能十分强大。如果没有Visual Web Developer 2005,大可直接新建一个空白记事本,编写如上图9-5所示的代码,保存成Glball.asax文件就好了。
9.3  站点笔记和回复的统计
  回想在“7.1  用户登录服务器行为”中,曾为用户统计其发表笔记与回复,站点笔记和回复的统计与其类同。
  (1)打开模板dkblog.dwt.aspx,新建数据集zdbj,其设置如图9-6所示;新建立数据集zdhf,其设置如图9-7所示。

图9-6  数据集zdbj的设置图

图9-7  数据集zdhf的设置图
  (2)分别绑定数据集zbbj、数据集zbhf到页面中,如图9-8所示。

图9-8  绑定数据集zbbj、zbhf
  (3)保存模板dkblog.dwt.aspx,更新所有网页。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 5 月 18 日 00:11:25 | 显示全部楼层
第十章  BLOG事件日历的实现
  既然Doking’s BLOG是学习笔记,那么按日历可以查出所有笔记和笔记回复。
  难点分析:是不是要在模板中直接添加Calendar日历控件?不!那是不行的!由于Calendar日历控件是服务器控件,要在含有runat="server"表单该服务器控件,但一页面中只能有一个含有runat="server"表单,不然有时会出现如图10-1所示的错误显示。

图10-1  页面只能有一个含有runat="server"表单的错误
  那怎么办?这里是采取嵌入式框架进行转移。
10.1  添加Calendar日历控件
  (1)新建一个空白ASP.NET VB动态页。
  (2)插入带出runat="server"表单,设置ID=”Calfrm”。
  (3)点击ASP.NET快捷菜单下的“更多标签”按钮,在弹出【标签选择器】对话框中选择“ASP.NET 标签”下的“asp Calendar”,如图10-2所尽?/P>

图10-2  插入“asp Calendar”标签
  (4)按“插入”按钮,弹出【标签编辑器—Calendar】对话框,如图10-3所示。在这个对话中,可以对Calendar日历控件的样式进行设置,由于有中文,在这里就不多讲了。
  (5)保存ASP.NET VB动态页为dkCalendar.aspx。在IE中浏览,如图10-4所示。

图10-3  【标签编辑器—Calendar】对话框

           图10-4  dkCalendar.aspx在IE中的浏览
  在图10-1-4中,可以看到星期的显示太长了,很难看!如果显示为“日、一、二、三、四、五、六”,那就好了。
10.2  修改Calendar的星期显示
  (1)在Dreamweaver中打开dkCalendar.aspx,切换到代码视图,寻找如下代码:
  把它改为:
  (2)点击ASP.NET快捷菜单下的“а:xy”按钮,插入命名空间,如图10-5所示。
  (3)此时新添代码:
  输入命名空间为System.Globalization,即代码改为:
  (4)再添加命名空间System.Threading,结果如图10-6所示。

图10-5  插入命名空间

图10-6  插入命名空间后代码
  (5)在代码:
  之后,空一行,并插入如下代码:
  Dim dkday‘定义选择日期所产生的链接字符串的全局变量
'改变星期显示的函数
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
  (6)选择日历控件Calendar1的原代码,切换到【标签】面板的【属性】选项卡,展开“外观”选项,选择“DayNameFormat”项的下拉菜单,并选择“Full”,如图10-7所示。
  (7)保存dkCalendar.aspx,在IE中进行浏览,结果如图10-8所示。
  
图10-7  选择“DayNameFormat”值为“Full”         图10-8  dkCalendar.aspx修改后在IE浏览
10.3  添加日历事件
  (1)在Dreamweaver中打开dkCalendar.aspx,切换到代码视图,选择Calendar1的原代码,右键单击它,在弹出的快捷菜单中选择“编辑标签(E)”,如图10-9所示。

图10-9  选择“编辑标签(E)”
  (2)在弹出【编辑标签—calendar】的对话框中,展开“事件”项,选择“OnSelectionChanged”,在“Calendar —OnSelectionChanged”事件文本区域中,输入“Calendar1_SelectionChanged”,按“确定”按钮,如图10-10所示。

图10-10  编辑OnSelectionChanged事件
  (3)在代码标签中添加如图10-11红色圈所示的代码。

图10-11  添加Calendar1_SelectionChanged事件
  (4)在标签之间,插入如图10-12红色圈所示的代码。
  (5)找标签,将其改为如图10-13红色圈所示的代码。

图10-12  插入javascript函数dkwk

图10-13  修改标签
  (6)再次把Calendar1的“DayNameFormat”项的设为“Full”,参照10.2节中的第6步骤。
  (7)保存dkCalendar.aspx,打开index.aspx,在page_load函数中添加如下代码:
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
  结果如图10-14所示。

图10-14  在page_load函数中添加代码
  (8)找到记录集Ztre的原代码,删除其CommanText所在的命令行,结果如图10-15红色圈所示。

图10-15  修改后记录集Ztre的原代码
  (9)保存index.aspx。
10.4  添加嵌入式框架
  (1)打开模板dkblog.dwt.aspx,在ASP.NET快捷菜单中,点击“更多标签”快捷按钮,在弹出【标签选择器】对话框中,选择“HTML标签”,并选择“iframe”项,如图10-16所示。

图10-16  插入iframe标签(即嵌入式框架)
  (2)单击“插入”按钮,在弹出【标签编辑器—iframe】对话框中对要插入的嵌入式框架进行有关设置如图10-17所示。

图10-17  对嵌入式框架进行有关设置
  (3)按“确定”按钮,返回到【标签编辑器—iframe】对话框,再按“关闭”按钮。
  (4)保存模板dkblog.dwt.aspx,更新所有网页。
  (5)在IE中浏览index.aspx,结果如图10-18所示。

图10-18  在IE中浏览index.aspx
  提醒:其实日历事件的实现是十分复杂的事件,这里只是给出一个简单的例子。这一节还有一个难点就是嵌入式框架对主窗口对象的控制,这里中只是举了个用“parent.location.href”控制主窗口网页的流转。这些就留给读者们慢慢研究了。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 5 月 18 日 00:11:57 | 显示全部楼层
第十一章  Doking's BLOG站内搜索的实现
  经常看到许多网站有一个站内搜索功能,这个是如何实现呢?如果是ASP,那Dreamweaver很快就能实现。现在是ASP.NET,得稍微手编一下。
11.1  SELECT高级搜索技巧
  经过上面章节的学习,对SELECT多少会点了解。SELECT高级搜索技巧,其实也没有什么神秘,主要与模式匹配运算符的运用有关。所以这里主要讲解模式匹配运算符的运用。
  模式匹配运算符LIKE、NOT LIKE常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。LIKE用于查找匹配一定条件的记录,NOT LIKE用于查找不匹配指定条件的记录。可用于字符串、文本、日期等类型查询。
  1.百分号%:可匹配任意类型和长度的字符。
  例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “网络%”
  这个查询是要查询学习笔记表中标题以“网络”开始的所有学习笔记,如:网络数据库ASP一点通过、网络与手机通讯开发研究等。
  例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “%ASP.NET%”
  这个查询是要查询所有标题包含了“ASP.NET”的学习笔记。
  2.下划线_:匹配单个任意字符,常用来限制表达式的字符长度。
  例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE ”V_开发精选 ”
  这个查询主要是查询类似于“VB开发精选”、“VC开发精选”这样标题的学习笔记。
  3.中括号[ ]:指定个字符、字符串或范围,要求所匹配对象为它们的任一个。
11.2  站内搜索功能的实现
  介绍了SELECT高级搜索技巧后,将要介绍站内搜索功能的实现。这里只采用了百分号%模式匹配运算符。
  (1)打开模板dkblog.dwt.aspx,插入表单,设ID=” gofrm”,动作为” ../dkgo.aspx”,方法为”POST”;插入文本框,设ID= “dkgotxt”;插入按钮“搜索”,结果如图11-1所示。
  (2)保存模板dkblog.dwt.aspx更新所有网页。
  (3)新建一个空白ASP.NET VB动态页,并保存为dkgo.aspx。添加数据集Ztre,其设置如图11-2所示。

图11-1  添加有关表单控件

图11-2  添加数据集Ztre
  (4)单击“高级”按钮,把SQL命令:
SELECT * FROM ZT ORDER BY ZITIME DESC
  改为:
SELECT * FROM ZT WHERE ZTNAME LIKE '%"+Request.Form("dkgotxt")+"%' ORDER BY ZITIME DESC
  结果如图11-3所示。

图11-3 对数据集Ztre进行修改
  (5)对dkgo.aspx页面进行有关设计,绑定有关动态文本到页面中,设计重要区域,结果如图11-4所示。

图11-3  对dkgo.aspx的页面设置
  有关设置细节可以参照index.aspx的有关设置。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 5 月 18 日 00:12:15 | 显示全部楼层
第十二章  把Doking's BLOG上传到远程空间
  为了使Doking's BLOG程序上传到远程空间后能正常的运行,下面介绍几个安装要点。
  1.本教程提供的Doking's BLOG程序是以站点根目录为主,由于要用到web.config配置文件、bin目录以及aspnet_client脚本库,这三个文件和目录必须放在站点的根目录下才能数据集、窗体验证程序正常运行。
  2.本教程的源程序文件和web.config配置文件、bin目录以及aspnet_client脚本库都放在同一目录中,这三个文件位置是不能动的,如果想把Doking's BLOG页面放在根目录下的二级目录中,比如这样:
http://localhost/dkblog/
  上面地址中,dkblog目录是放置Doking's BLOG页面文件的,除了web.config配置文件、bin目录以及aspnet_client脚本库上传到根目录中外,其它所有文件都可以复制到dkblog目录中。
  3.由于Dreamweaver MX把连接数据库的字符串存放在web.config配置文件中,打开web.config配置文件,可以看到如图12-1红色圈所示是数据库在本地的物理路径。

图12-1  web.config配置文件部分内容
  由于上传到远程空间,其物理路径一般不会本地的物理路径相同。在web.config配置文件中也不能使用诸如Server.MapPath之类的服务器变量来获取远程空间的数据库物理路径。
  可以通过以下方法来获取数据库在远程主机的真实目录物理路径。假定,在上传远程空间的域名地址如下:
http://www.pconline.com.cn/dkblog
  通过上面的虚拟地址访问远程虚拟主机的二级目录dkblog,数据库文件保存在dat文件夹中,因此实际虚拟地址为:http://www.pconline.com.cn/dkblog/dat
  在Dreamweaver中新建一个空白的ASP.NET VB动态页,切换到代码视图,输入如下代码:
  保存为dkurl.aspx,在IE浏览,结果如图12-2所示。

图12-2  测试物理路径
  可以看到dkurl.aspx所在的物理路径就是:D\dkblog\,那数据库的物理路径自然是:D:\dkblog\dat\dkblog.mdb。
  得到远程主机的物理路径后,打开web.config配置文件,修改数据库的物理路径。
  提醒:到此Doking’s BLOG的程序开发已完成。该程序十分简单,但有利于初学者开发数据库。实际应用的BLOG程序其实十分复杂,许多技巧有待读者去深思和研究。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 5 月 18 日 03:47:40 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
第一章
BLOG功能简介
第二章  Doking’s BLOG开发环境的构建
  了解Doking’s BLOG功能和开发目的之后,接下来就是构建好开发环境。
2.1  ASP.NET运行环境的构建
  在开始开发Doking’s BLOG前,应该先构造好开发环境。下面介绍的是在Windows 2000/XP操作系统中的构建方法。
  2.1.1 安装IIS服务器
  按【开始】→【控制面板】→【安装/删除Windows组件】,勾选“安装Internet信息服务组件”,如图2-1所示。

                               
登录/注册后可看大图

图2-1  windows组件向导对话框
  2.1.2 在IIS服务器上,给Doking’s BLOG安上新家
  (1)首先在D:\下新建目录“dkblog”,打开【控制面板】→【管理工具】→【Internet 服务管理器】,打开【Internet信息服务】对话框,如图2-2所示。

                               
登录/注册后可看大图

图2-2  Internet信息服务对话框
  (2)右键单击“默认Web站点”,选择属性,打开【默认Web站点属性】对话框,在对话框中,单击【主目录】选项卡,把本地路径指向“D:\dkblog”,在“执行许可(P):”下拉菜单中选择“脚本和可执行程序”,结果如图2-3所示。

                               
登录/注册后可看大图
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 5 月 18 日 03:48:16 | 显示全部楼层
直接转就是了

和来盗链一说?
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 5 月 18 日 03:49:51 | 显示全部楼层

                               
登录/注册后可看大图


直接远调
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2005 年 5 月 18 日 03:52:16 | 显示全部楼层
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 8 月 24 日 11:29 , Processed in 0.018203 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表