第四章---建立一个详细的页
详细页面 - 与数据库连接和变量传递
我们希望更详细地显示数据库的内容。我们希望能够通过点击一个人的名字,从而看到他(她)的详细信息。我们可以这样实现:
首先我们要先建一个"details.asp"文件。按你希望的格式设计它。下面这个是我做的:
在这个页面上我们要建立一个记录集。因此,像刚才一样,打开Window > Data Bindings 点+目录选择Recordset (Query) 。并且作这样的设定:
Name: rsGetDetails
Connection: workshop
Table: users
Columns: ALL
Filter: ID = ID
你可以看到它的效果。基本上该动作是这样的,当你点某人的名字时,一个同一的ID将被传递给详细页面,接着详细页面就度取由ID指定的记录并显示出来。在理解和实践的基础上,要实现这一点是很容易的。
回到"displayrecords.asp"页面。现在我们将要在姓名上建一个连接,连到详细页面。首先在页面上选定{rsGetRecords.first} 并把它连到" details.asp?ID= "页。好了!但是它没有传递任何信息给详细页面。还有工作要作。
||||||进入代码编辑状态,找到“名”链接,你可以看到这样的代码:
<%=(rsGetRecords.Fields.Item("first").Value)%>
复制以上代码并把它粘贴到连接中的等号后面,并用ID取代first,就像这样:
<a href="details.asp?ID=<%=(rsGetRecords.Fields.Item("ID").Value)%>"><%=(rsGetRecords.Fields.Item("first").Value)%></a>
现在再测试displayrecords.asp页就可以看到,每个人的名字都是一个链接。更重要的是当你把鼠标放上去后,你可以在状态榄看到每个人的ID:
以后的任务就是"details.asp"页根据被点击的ID找到并显示其信息了。先前我们设置发挥作用了:
Filter: ID = (URL Parameter) ID
||||||详细页面 - 显示单条记录信息
理论上来说我们的页面现在可以工作了。记录显示页面可以传递变量,并由详细页把它找到并显示出来。让我们通过把一些字段放到页面上,来看看它是否真的能够显示。
打开"details.asp"页,然后就像前面提到过的一样,你可以把字段插入到页面中。我做的是这样的:
Details.asp
开始测试!在浏览器中打开"displayrecords.asp"并且点击Alex Baldwin,你就可以看到他的详细信息了:
||||||击活数据库中的邮件地址和链接
邮件链接
在"details.asp"页面上,我们显示了每个人的两个信息:邮件地址和个人主页地址。
在这里我们讲述如何把他们转化为活动的,可用的链接。你需要进入代码编辑状态。然后找到邮件链接,现在它根本不是一个链接,因此加入<a href>标记,就像这样:
<a href="mailto:"><%=(rsGetDetails.Fields.Item("email").Value)%></a>
然后复制<%=(rsGetDetails.Fields.Item("email").Value)%> 并把它粘贴到"mailto:"的后面。得到这样的结果:
<a href="mailto:<%=(rsGetDetails.Fields.Item("email").Value)%>">
<%=(rsGetDetails.Fields.Item("email").Value)%>
</a>
这样做的作用是从数据库中调用email两次。一次是用于显示,就是位于<a></a> 标记中的那次。另一次是真正的代码mailto:emailaddress 。
URL链接
建立URL链接重复同样的操作就行了。除了用"http://"代替"mailto:" 。结果是这样的:
<a href=http://<%=(rsGetDetails.Fields.Item(url").Value)%>" target="blank">
<%=(rsGetDetails.Fields.Item("url").Value)%>
</a>
标target="_blank"意味着链接将在新窗口中被打开。