='<%# "INSERT INTO HF (HFNAME, HFTEXT, ZTID, YHID) VALUES (?, ?, ?, ?)" %>'
(7)按次序添加参数:
<Parameter Name="@ZTID" Value='<%# Ztre.FieldValue("ZTID", Container) %>' Type="Integer" />
<Parameter Name="@YHID" Value='<%# SESSION("USEID") %>' 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)的原代码,找到其中的代码:
<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 用户发表学习笔记
用户登录后,除了可以发表回复信息外,还可以发表新的学习笔记。
(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='<%# "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 修改用户资料
修改用户资料页面设计与用户注册页面设计基本相同。
(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)在更记录的原代码中,找到代码:
<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。