Dreamweaver构建Blog全程实录(5):分栏及回复的实现

dreamweaver

  在第四章中完成的的首页其实很不完善,一是笔记菜单分栏没有链接,不能点击;二是点击笔记题标,不能链接到回复页;三是点击作者,不能链接作者的信息。这一章中将会完善这些功能。

5.1  笔记菜单分栏实现

  设计思路:修改模板bkblog.dwt.aspx中菜单分栏的超级链接,进而更新所有网页;打开首页时,浏览按时间降序方式显示所学习笔记的内容,点击菜单分栏,又能根据分栏进行按时间降序方式分类显示学习笔记内容。

  5.1.1 建立模板菜单

  (1)打开模板bkblog.dwt.aspx,选择动态文本(menuda.LM),创建超级链接,链接到首页(index.aspx),选择【代码显示视图】,把鼠标移至如图5-1-1所示的红色垂直线的地方。(下面没有特别说明所有符号都是英文字符)

图5-1-1  鼠标移至到链接属性

  (2)输入“?menanw=”(menanw就是的参数变量),切换到【绑定】面板,拖拉数据集(menuda)下的字段LMID到到刚才输入的等于号后面,结果如图5-1-2所示:

图5-1-2 插入动态属性(a.href)

  (3)切换到【服务器行为】面板,可以看已经增加一个服务器行为:动态属性(a.href),如图5-1-3所示:

图5-1-3 服务器行为面板

  (4)选择“主页”菜单,创建链接到index.aspx;选择“联系我们”,创建链接到mailto:wen110@21cn.com。

  (5)保存bkblog.dwt.aspx模板,这时会弹出如图5-1-4所示的对话框。

图5-1-4  更新模板文件对话框。

  (6)单击“更新”按钮,完成笔记菜单分栏,并更新首页index.aspx。

  5.1.2  在首页中实现分栏显示

  (1)打开首页index.aspx,切换到【服务器行为】面板,双击数据集(Ztre),在弹出的数据集对话框中,单击“高级”按钮,如图5-1-5所示。选择【SQL】文本区域中的SQL命令进行复制,建议把它粘贴到新建立的记事本或Word文本中,它在以后步骤中将会有很大作用(熟悉SQL语言,可以跳过此步骤)。

图5-1-5  数据集高级对话框

  (2)单击“简单”按钮,在【筛选】下拉菜单中选择筛选字段为LMID,选“URL参数”作为参数传递方式,输入参数变量为menanw,按“确定”键,结果如图5-1-6所示:

图5-1-6  修改Ztre数据集为筛选

  (3)对首页进行IE浏览,浏览结果没有记录,如图5-1-7所示

图5-1-7  首页浏览图

  (4)在首页IE浏览中,单击链接“网络编程”,结果如上章的图4-3-3所示,显示出所有网络编程的学习笔记。

  “等等,这与原先的设计思路不符合!只有按分栏显示,不能显示所有学习笔记!”这里还有个ASP.NET页间数据传递的问题:Windows应用程序中的各Form窗体间数据传递可以通过定义全局变量(Public static 变量)等方法来实现。而这些方法却无法用以ASP.NET中各Web页面数据传递。例如:当点击数据集导航条会有个Ztre_currentPage的数据传递,却不能传递menanw的数据,也就是说当点击数据集导航条的任何一个超级链接,menan传递的数据永远是空值,这就不能既实现分栏显示,又同时进行在分栏下的分页显示。这里是采取session进行参数传递的方法解决。

  (5)为了把参数变量menanw传递给session("menanw"),切换到代码视图,在<html>标签之前,插入如图5-1-8红色圈中所示的代码。

图5-1-8  给index.aspx插入页面载入默认函数

  (6)在【服务器行为】面板中选择数据集(Ztre),如图5-1-9所示,带黑色部分的就是数据集(Ztre)定义代码。

图5-1-9  数据集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)进行IE浏览,结果第四章的图4-3-3所示。完成既定的设计思路。

  

5.2  回复页面的实现

  设计思路:能够实现点击笔记的标题,就能够够链接出一个页面,包括这笔记和相应所有回复。从上一节,可以这已不难了,只在笔记标题的超级链接上进行这个笔记的代码参数传递就可以实现了。

  5.2.1  基本页面设计

  (1)新建由模板bkblog.dwt.aspx生成的ASP.NET VB 动态页hf.aspx,在mainbody可编辑区域中插入表格ztre,并进行有关设计,结果如图5-2-1所示:

图5-2-1 表格ztre设计图

  (2)启动Access2003,建立FH表、YH表连接查询HFRE,其实连接视图及显示字段如图5-2-2所示。

图5-2-2  查询HFRE的有关设计

  (3)按4.2.2数据集那节中(1)-(3)步骤,添加数据集Ztre,拖拉字段到相应位置,并进行动态文本(Ztre.ZYTEXT)的格式设置,结果如图5-2-3所示:

图5-2-3  绑定数据到表格ztre

  (4)修改数据集Ztre为筛选,筛选字段为ZTID,选“URL参数”作为参数传递方式,输入参数变量为ztanw。

  (5)添加数据集Hfre,筛选字段为ZTID,选“URL参数”作为参数传递方式,输入参数变量为ztanw,结果如图5-2-4所示:

图5-2-4  数据集Hfre的设计

  (6)拖拉数据集Hfre字段到表格ztre的相应位置,设动态文本(Htre.HFTEXT)的格式设置“编码—HTML编码格式”,将表格ztre的第5、6、7行,定义为重复区域,定义数据分页到表格ztre,结果如图5-2-5所示:

图5-2-5  绑定数据集Htre到表格ztre中

  (7)打开首页index.aspx,选择动态文本(Ztre.ZTNAME),创建超级链接,链接到hf.aspx,切换到代码视图,把链接属性改为:hf.aspx?ztanw=,拖拉数据集Ztre下的字段ZTID到等于号之后,结果如图5-2-6所示:

图5-2-6 在代码中添加动态超级链接

  (8)保存hf.aspx和index.asps,在Access中给相应HF表、YH表随便输入几个记录,进行IE浏览器中浏览index.asps,点出有回复的学习笔记主题,如图5-2-7所示:

图5-2-7  回复页的显示

  (9)再点击数据集导航的任何一个超级链接,结果如图5-2-8所示:

图5-2-8  点击数据集导航后页面结果

  啊!全没了!这就是ASP.NET网页间数据传递的问题。得像5.1节中那进行修改。

  (10)切换到代码视图,在<html>标签之前,插入如图5-2-9红色圈中所示的代码。

图5-2-9  给hf.aspx插入页面载入默认函数

  (11)找到数据集Ztre中的代码:

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

  把上面代码中request.QueryString("ztanw")替代为session("ztanw"),结果代码修改为

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

  (12)找到数据集Hfre中的代码:

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

  把上面代码中request.QueryString("ztanw")替代为session("ztanw"),结果代码修改为

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

  (13)保存hf.aspx。

  

时间: 2024-11-05 12:45:11

Dreamweaver构建Blog全程实录(5):分栏及回复的实现的相关文章

dreamweaver构建blog全程实录:目录

Dreamweaver构建Blog全程实录(1):Blog简介 Dreamweaver构建Blog全程实录(2):构建开发环境 Dreamweaver构建Blog全程实录(3):数据库的设计和连接 Dreamweaver构建Blog全程实录(4):首页的实现 Dreamweaver构建Blog全程实录(5):分栏及回复的实现 Dreamweaver构建Blog全程实录(6):用户注册的实现 Dreamweaver构建Blog全程实录(7):用户登录的实现 Dreamweaver构建Blog全程实

Dreamweaver构建Blog全程实录(1)

dreamweaver Dreamweaver构建Blog全程实录(1)·Dreamweaver构建Blog(2):构建开发环境 Dreamweaver构建Blog(3):数据库的设计和连接·Dreamweaver构建Blog(4):首页的实现 当今,网络数据库的应用已十分广泛,它的开发也是程序员必备的技能之一,但由于数据库的开发难度大.程序复杂,常使许多初学者止步.在这里,以Doking's BLOG的实例开发为教程,引导众多初学者在几乎不用编程的情况下也能开发网络数据库. 1.1 什么是BL

Dreamweaver构建Blog全程实录(4)-首页的实现

dreamweaver 第四章  Doking's BLOG首页的实现 现在,万事俱备,应该着手Doking's BLOG的页面设计和数据库前台的实现. 4.1  基本页面设计 这里,不是要谈网页艺术创造的知识,而是讲解在Dreamweaver MX2004中构建网站内页的思路和方法. 4.1.1 网站设计思路 每个网页开始前,一般要在Firworks或在Photoshop等图像设计软件中设计好基本页面设计,图4-1-1就是Photoshop中设计好的基本页面设计图. 图4-1-1  Dokin

Dreamweaver构建Blog全程实录(7)-用户登录的实现

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

Dreamweaver构建Blog全程实录(6)-用户注册的实现

dreamweaver|用户注册 第六章  Doking's BLOG用户注册页面的实现 有人发觉:那用户要到哪里发表笔记.回复呢?这是第六.七章将要解决的问题.这一章主要讲解用户注册页面的实现. 6.1  基本页面设计 6.1.1 模板bkblog.dwt.aspx页面的修改 (1)打开模板bkblog.dwt.aspx,在左边栏目插入表格Lefttab,在第一行中插入表单Yhlogfrm,在表单Yhlogfrm中插入表格logtab,并插入有关文本框.文本区域及按钮,结果如图6-1-1所示:

Dreamweaver构建Blog全程实录(9)-站点统计

dreamweaver|统计|站点 第九章  站点统计的实现 目前为止,Doking's BLOG已可以运作了.但可以发现左边的导航还是空空的,下面的章节主要为左边导航添加功能菜单.这一章主要讲解在左边导航上添加有关站点统计. 9.1  基本页面设计 打开模板dkblog.dwt.aspx,在左边导航上添加文字设计如图9-1所示. 图9-1  模板dkblog.dwt.aspx左边导航文字设计 9.2  在线人数统计 在线人数统计的实现得依靠global.asax文件.global.asax文件

Dreamweaver构建Blog全程实录(8)-管理员页面的实现

dreamweaver|管理员|页面 第八章  管理员页面的实现 目前为止,Doking's BLOG基本功能已经实现了.但得管理员至高无上的"生死大权",严厉管理用户发表的笔记和回复,防止用户在Doking's BLOG发表有危害性信息. 8.1  管理员登录的实现 (1)新建空白的APS.NET VB动态页gllogin.aspx,插入表单glfrm,再插入表格,设置如图8-1所示. 图8-1  gllogin的页面设计 (2)设管理员相应的文本框的ID为GLY,密码对应的文本框的

Dreamweaver构建Blog全程实录(12)-上传安装

dreamweaver|上传 第十二章  把Doking's BLOG上传到远程空间 为了使Doking's BLOG程序上传到远程空间后能正常的运行,下面介绍几个安装要点. 1.本教程提供的Doking's BLOG程序是以站点根目录为主,由于要用到web.config配置文件.bin目录以及aspnet_client脚本库,这三个文件和目录必须放在站点的根目录下才能数据集.窗体验证程序正常运行. 2.本教程的源程序文件和web.config配置文件.bin目录以及aspnet_client脚

Dreamweaver构建Blog全程实录(3)-数据库的设计和连接

dreamweaver|设计|数据|数据库 第三章 Doking's BLOG 数据库的设计和连接 构建好开发环境后,Doking's BLOG数据库规划是第三步,它也是直接关系到数据库以后是否能够有效运行的关键步骤,也是对一个数据库开发人员的规范要求. 3.1 数据库的规范化 数据库的规范化主要体现在表与表之间的关系.数据结构及存储两大方面. 3.1.1 数据表之间的关系 许多初学者常常认为,建立一个表储存所有数据就可以了.如果这么认为,那经常会造成数据冗余的.图3-1-1是一个数据表,可以看