ULTRADEV经典之旅-动态菜单实战(6)
动态数据- 建立重复区域(Repeat Region) 我们使用重复区域(Repeat Region)这种服务器行为(Server Behavior)来列出所有公司所在城市的名字, 它将产生代码以使在记录集中进行循环来显示每条记录。这个我们所选择的重复区域是非常重要的。在这个菜单中,我们希望为每个城市名字产生新的一行,所以我们的想要重复(Repeat) 的区域(Region)应该包含在$#@60;tr$#@62;....$#@60;/tr$#@62;标签之间。按F11打开层面板(Layers palette); 在列表中选择层 menu2 ,层则在 “选择软件" 按钮下显示出来了,并且包含了一个动态文本{rsMenuA.fCity} ; 在这个单元格中点击一下; 选择WINDOWS窗口左下角的$#@60;tr$#@62; 标签,确认已经正确选择了重复区域;
打开服务器行为面板(Server Behaviors) (Shift+F11) ; 点击 plus(+)标记显示可用的(behaviors) 行为列表; 选择重复区域行为( Repeat Region behavior ) ; 选择所有记录(All Records)按钮;
单击完成( OK); 按F12浏览该页,选择 “选择软件" 按钮将显示记录集中的所有记录; 保存文件 File $#@62; Save
建立指向详细页面的链接……
建立指向详细页面的链接 当 谴硬说ブ醒《艘桓瞿谌莺螅颐窍M胗懈晗缸柿系囊趁妫褂昧硪桓龇衿餍形⊿erver Behavior),我们非常容易做到这一点。
在页面之间传递参数(Values) 我们可以通过在在页面URL后面赋予值来把数值传递给另一个ASP文件,通常用一个(?)开始,并在后面加上具体的数值(name=value)。因此,如果我们要通过所选择软件的fID的数值来指向详细页面,我们可以在URL后面加上 ?id=5,这里的id是参数的名字,5是它的值,在详细页面中,我们可以读出它的值然后建立以该值为基础的活动页面。
菜单将建立一个到详细页面的链接并且传递(software")软件的 fID 数值(number),所以详细页面可根据值来显示正确的城市内容。
建立空白的详细资料页面 为了建立一个详细页面的链接,我们必须先建立一个详细页面,现在我们建立一个最简单的正确命名页面,以使超链接可以识别它。后面我们将为这个页面加上代码以使它活动起来。
选择文件 (File) $#@62;新建 (New) 选择文件 (File) $#@62; 另存为 (Save As) 把这个页面命名为: detail_city.asp 点击保存 ( Save)
建立到详细页面的链接……
建立到详细页面的链接
按F11打开层面板; 在列表中选择层 menu2,该层会在"选择软件"下面显示出来,并且已经包含了{rsMenuA.fCity}这个动态文本; 选择动态文本 {rsMenuA.fCity} ; 按Shift+F11打开服务器行为( Server Behaviors)面板; 点击 plus(+)标记显示可用的行为列表; 选择跳转到详细页面( Go To Detail Page) 行为打开 Go To Detail Page窗口,如下图:
在链接(LINK)框中已经自动生成了动态文本,在下面一行点击浏览(Browse)选择 detail_city.asp; DREAMWEAVER ULTRADEV已经自动提供了一个传递URL的参数 fID,将它改为ID; 在记录集(Recordset) 和列( column )中DREAMWEAVER ULTRADEV都已经自动填入了相应的值,记录集中第一列是默认的,并且会记录我们想要传递的值,所以不需要更改; 选定 URL parameters 表示传递参数作为URL的一部分; 完成以后界面如下:
单击完成( OK) ; 按 F12浏览本页,“选择公司”按钮将包括公司的链接,点击任何一个软件都将打开 detail_city.asp 窗口,注意URL包含了我们要传递的参数,并且根据软件选择不同ID也各不相同; 保存文件 File $#@62; Save 建立详细页面…… 建立详细页面 为了达到我们这个指南的目的,我们用范例说明如何使选项与详细页面连接并显示详细内容。
建立页面结构 建立一个2列的表格并表列出数据字段和预先填入一些资料,一会我们将用动态数据替换它们,如下图:
保存这个文件 detail_city.asp,如果出现覆盖(overwrite)提示按是(yes);
建立记录集 我们建立一个记录集,使它可以根据URL参数(例如:i.e. ?ID=5)来从数据库中调出与之相对应的字段值并显示在详细页面上。
在数据绑定( Data Bindings )面板中选择 plus(+)按钮; 从弹出菜单中选择 Recordset (Query) ; 给记录集命名为 rsDetail ; 从链接(connection)下拉列表中选择链接到 company ,DREAMWEAVER ULTRADEV将连接到数据库并填入默认的值。 在数据表(table)中选择 Franchises 这个表; 在列(Columns),点击所有(All)按钮 ,因为我们要使用表中的所有字段; 在 Filter 下拉菜单中选择 fID,用来告诉DREAMWEAVER ULTRADEV我们仅需得到那些传递参数与 fID字段的值相应的记录; 在URL Parameter 框中键入 ID表示URL传递的参数叫做 "ID"; 在 sort order命令行中不需作任何调整。完成后的记录集(Recordset)窗口如下图所示(仅供参考,实际界面有所不同): 测试记录集…… 测试记录集 点击测试按钮(Test); 键入一个已知的测试值,如: ID 参数为 5,点击完成(OK),DREAMWEAVER ULTRADEV将请求这一个值,因为它并不是一个需要解析的真实的URL地址; 测试窗口显示一条记录: fID=5 是GENERATOR; 点击 OK 关闭测试窗口; 点击 OK关闭记录集窗口; 保存文件 File$#@62;Save 把数据绑定到页面
绑定数据非常简单,只要用记录集中的字段将占位符替换掉就可以了。
选择表格第一行第二列中"公司详细资料",使其高亮显示; 然