1、在“文件”面板中双击站点中的index.asp打开它,在“应用程序”面板集中的“绑定”面板中点击“+”号,在弹出的菜单中选择“记录集(查询)”。
在弹出的对话框中作如下图的设置:
这里说明一下,名称就是建立的记录集的名称,连接则是选择连哪个数据库的连接,表格就是数据库中的数据表,列就是要选择的字段。筛选是选择记录的条件,排序是指选择出来的记录在显示的时候以什么方式排序。点击“测试”可以看到建立的记录集的结果。
点击“高级”可以切换到“高级”对话框,能进行更复杂的SQL语句的录入。 建立记录集后,可以在“绑定”面板中看到如下图所示的记录集:
2、在打开的index.asp中选中公告的标题部分,然后从“绑定”面板中选择“g_title”,在“绑定到”中选择“选定文本”(这是因为我事先在这个标题上做了链接),然后单击“绑定”。
3、依次选择其它需要从数据库中调用显示的部分,在“绑定”面板中选择相应的字段,单击下面的“插入”按钮。
4、选中日期部分“{rsgg.g_addtime}”,在“绑定”面板中g_addtime后面的下拉箭头处选择“日期/时间”>“长日期格式”,把时间格式化为“xxxx年x月x日”的样式。
5、首页全部内容绑定后的效果如下图。现在把文件保存,然后按F12预览,已经可以看到把数据库中的内容显示出来了。不过只显示了第一条记录,所以我们接下来要做重复区域,让其它的记录也显示出来。把光标放在这一行中,点击下面“标签选择器”中的<tr>,选中这一行。
6、然后点击“服务器行为”面板上的“+”号,在菜单中选择“重复区域”。
7、在弹出的“重复区域”对话框中选择要重复的记录集和显示的条数。这里选择“rsgg”和“11”条。
8、确定后就会在这一行的上面显示出“重复”的字样。
现在再保存后按F12预览,可以看到已经按我们设定的显示了11条记录了。那么超过11条记录后其它的记录我想分页显示的话又该怎么办呢?这个在DW中实现起来相当的方便。
9、把光标放在下面我们想显示分页导航的地方,把“插入”面板切换到“应用程序”,在下图所示的按钮中选择插入“记录集导航条”。
10、在弹出的“记录集导航”对话框中选择要分页的记录集,这里是rsgg,显示方式选择“文本”,点击“确定”。
11、可以看到在刚才的光标处已经插入了分页导航条。
12、可是仔细一看好像原来的单元格被撑高了一点,导航条的位置也太靠下了。这可不行,所以我们要来解决它。点击工具栏处的“代码”切换到代码视图。
一下就看到了,原来多了一个“ ”空格符,删除它,OK搞定。
13、分页的问题也解决了,显示已经没有问题了,就应该考虑如何在页面上进行交互了。首先要考虑的当然是我们如何通过点击标题的链接转到具体的公告内容页面上去?
这个问题在DW中也很好解决。
选中首页中的标题,在“服务器行为”面板上单击“+”号,在菜单中选择“转到详细页面”。对,这个功能就是帮助我们通过点击不同的标题来转到不同的内容页面的。
14、在弹出的“转到详细页面”对话框中进行如下图的设置(如果你用的我的模板的话,其实不用设置就是下面这样了):
说明一下,链接就是点击页面上的哪个链接来执行“转到详细页面”的操作;详细信息页当然就是公告内容页了,这里就是showgg.asp;传递URL参数是指把本页的值用什么参数传递到详细页上,也就是链接中“showgg.asp?g_ID=xxx”中的g_ID,是可以自定义的;记录集和列就是选择传递哪个记录的哪个字段的值。如果该页本来就带有参数,又想把该参数传递到下个页面,还可以勾选下面的“URL参数”或者“表单参数”。
该页正常的功能我们都已经实现了,大家赶快奖励自己一下,呵呵。接下来我们要实现一个小功能。那就是当数据库中还没有记录的时候,我们要给出一些提示信息,比如“还没有新的公告”。在原来的公告标题所在的表格下方再插入一个表格,里面输入“还没有新的公告!”,如下图所示。
15、选中这个表格,在“服务器行为”面板中点击“+”号,在菜单中选择“显示区域”>“如果记录集为空则显示区域”。
16、在弹出的对话框中选择判断是否为空的记录集,这里是rsgg,确定。
这样的话在数据库中还没有记录的时候页面就会显示出“还没有新的公告!”了。
同样你还可以把有记录集的那个表格设置为“如果记录集不为空则显示区域”。
17、首页的制作就要完成了。再检查一下,还有什么没有做呢?对了,还有个小小的图像“new”还没有用起来。我先来讲讲这里要实现的功能,就是当发布的公告的日期是今天的话,就显示这个“new”的图像表示是新的公告。怎么实现呢?看起来还比较难的样子,呵呵。不要担心,这个也很简单的。不过不是DW自带的功能了,我们需要在源代码上动它一动,呵呵。
选中小图像“new”,切换到“代码”视图。你可看到选中的代码是这样的:
<img src="images/news_new.gif" width="25" height="10">
现在把它改成这样的,也就是两头加上两句:
<% If Cstr(date())=left(rsgg.Fields.Item("g_addtime").Value,instr(rsgg.Fields.Item("g_addtime").Value," ")-1) Then %><img src="images/news_new.gif" width="25" height="10"><% End If %>
其中,If ... Then 表示一个条件判断,该条件为真则执行下面的语句,也就是显示图片,End If 用来结束这个判断。
( If ... Then ... [elseif ...] [else ...] End if )可是一个非常常用的语句,大家一定要用得很熟练噢。
那么判断的条件中又是些什么东东呢?我们一点一点来看。
Cstr(date()),其中date()是获取今天的日期,Cstr()是把括号中的内容转化为字符型。为什么要转化为字符串呢?接着看下面的...
left(A,i)是指截取字符串A从左边数起一直到第i位...
instr(A,B)是判断B在A中出现的位置是第几位,这里的instr(rsgg.Fields.Item("g_addtime").Value," ")-1),就是判断空格出现在时间的第几位,举个例看看:2005-7-13 12:03:04,空格出现在第10位,再-1那就是9。再结合前面的left(),对了,等号后面的语句其实就是为了把时间中的日期取出来。由于这里截取过后已经是字符型了,所以前面也要转化为字符型才能进行比较(记住噢,相同的类型才能比较噢)。
说了这一大段,这个判断应该看明白了吧。不明白偶也真的没办法了。(汗!汗!汗!我是前朝遗民,还是来自火星...-_-!) 首页全部制作完毕!各位可以小憩一番了。等一下再继续。