<<<返回

内容连接组件
当你需要连接相当数量的页面为访问者提供导航时，该组件相当实用；例如，使用该组件连接一个在线教程，一个新闻组等等，下一部分就是创建新闻组的实例应用。一般来说，进行大量主页连接，你需要在每一个页面上加入相应连接信息，而内容连接组件则可以大大简化这个过程。利用这个组件，你完全可以在一个页面内创建很多页面列表，而且利用这个组件的方法就可以在这个页面内显示相应连接的内容。 内容连接组件有以下这些方法：(其中 Content Linking File是包含这些连接文件的一 个文本文件。 ·GetListCount(Content Linking File)显示组件中包含的连接的文件数目。
·GetListIndex(Content Linking File)显示当前页在这些连接文件中的前后位置。
·GetNextDescription(Content Linking File)显示连接文件中下一个的描述。
·GetNextURL(Content Linking File)显示连接文件中的下一个文件的URL地址。
·GetNthDescription(Content Linking File, Number)显示连接文件中指定位置的文件描 述。
·GetNthURL(Content Linking File, Number)显示连接文件中指定位置的文件URL地 址。
·GetPreviousDescription(Content Linking File) 显示连接文件中前一个文件的描述。
·GetPreviousURL(Content Linking File) 显示连接文件中前一个文件的URL地址。
例如：假设你需要创建一个一步一步的网上烘面团培训，你按照顺序创建了有步骤的介绍文件，现在看内容连接组件如何运做，
首先，你需要创建一个 Content Linking File。这是用文本编辑器就可以完成的普通 文本文件。下面是这个文件的内容：
/pasta/grabpot.asp
从橱柜中取出面盘
/pasta/boilwater.asp
在盘中烧上一些开水
/pasta/openbox.asp
打开放面团的盒子
/pasta/dumpcontents.asp
将面团倒入面盆
/pasta/wait.asp
等上10分钟
/pasta/home.asp
返回主页
当你建立这个文件后，存储完毕记住它的名字，（这里面假设是pasta.txt）。
这个文件有两列，第一列是文件的URL地址（无论是asp文件还是其他的什么诸如html文件或者甚至是pl文件以及cfm文件都可以），第二列是文件的描述，这两列必须用tab键来分隔而不能是空格键。否则该组件就无法正确识别区分。
注：该文件就是纯文本，任何什么粗体，斜体之类的格式将被忽略。
当你创建了这个文本文件后，你就可以使用内容连接组件来制作自己的导航主页了。你也许需要在一个页面中显示这些步骤，那么可以根据下面这个例子进行：
<HTML>
<HEAD><TITLE>主页</TITLE></HEAD>
<BODY>
<h2>欢迎进入xxxASP教程示例之站点导航</h2>
<%
Set mylinks=Server.CreateObject(“MSWC.NextLink”)
%>
<%
制作烘面团有<%=mylinks.GetListCount(“pasta.txt”) %>个步骤：
<OL>
<%
For I=1 to mylinks.GetListCount(“pasta.txt”)-1
%>
<LI><A Href=”<%=mylinks.GetNthURL(“pasta.txt”,i) %>”>
<%=mylinks.GetNthDescription(“pasta.txt”,I) %></A>
<%
NEXT
%>
</OL>
</BODY>
</HTML>
那么这就是利用该组件创建事例并应用的一个实例，该事例在页面范围内赋给变量mylinks。下面是显示结果：
欢迎进入xxxASP教程示例之站点导航
制作烘面团有5个步骤：
1.从橱柜中取出面盘
2.在盘中烧上一些开水
3.打开放面团的盒子
4.将面团到入面盆
5.等上10分钟
这里面使用了三种方法：
·首先，GetListCount()方法从pasta文本文件中接受记录条目数。无论什么时候你创建了内容连接组件的事例并使用其方法时，你必须传递这个记录内容连接文件的文本文件名称，这个例子中，调用方法是mylinks.GetListCount(“pasta.txt”)
·第二个是GetNthURL()方法，用来在文本文件中接受指定位置的记录的URL地址，那么出现在循环中就是将连接依次指向每一个文件的URL地址。
·第三个GetNthDescription()方法，和GetNthURL方法十分类似，只不过接受的信息不是URL地址而是其描述，即Tab键后面那部分对于某个文件的解释性文字，也是上面例子的显示结果中显示的字段。
那么利用一个简单的循环就可以将这些连接依次显示，而且可以限定最后一个‘返回主页’不要显示，最后一个的用途就是在分页上进行主页返回。
对于每一个步骤的页面，其余的那些方法就变得十分有用，参见下面这个BoilWater.asp的例子：
<HTML>
<HEAD><TITLE>第二步</TITLE></HEAD>
<BODY>
<H2>第二步：烧些水</h2>
在盆里略微烧些开水。
<hr>
<%
Set mylinks=Server.CreateObject(“MSWC.NextLink”)
IF mylinks.GetListIndex(“pasta.txt”)>1 THEN
%>
<a href=”<%=mylinks.GetPreviousURL(“Paste.txt”)%>”>
前一步</a>
<% END IF
IF mylinks.GetListIndex(“pasta.txt”)<mylinks.GetListCount(“pasta.txt”)-1 THEN
%>
<a href=”<%=mylinks.GetNextURL(“Paste.txt”)%>”>
后一步</a>
<% END IF %>
<br>
<a href=”<%=mylinks.GetNthURL(“pasta.txt”,mylinks.GetListCount(“pasta.txt”)) %>”>
返回主页
</a>
</body>
</html>
上面这种调用方法在在线教程中就非常常用，其中判断自己的页面在连接文件中的位置用GetListIndex()方法，然后根据自己的位置利用两个IF语句确定是否存在前页和后页。再进行向前和向后的连接。这里面一个是向前的GetPreviousURL()方法，一个是向后的GetNextURL()方法，最后作一个返回主页的连接，利用GetNthURL，因为pasta.txt的最后一个记录就是返回主页。
提醒一下，对于不同的页面，GetNextURL()方法和GetPrevious()方法调用的是不同的，这样在做大规模在线教程时就可以省去很多麻烦，只要写好一个目录的Txt文件，很多位置问题完全可以根据这些方法自己确定。同时注意判断，因为如果发现GetPreviousURL()已经无法获取（到头了），那么就会出错。
另外，如果你当前的文件不在那个指定所有文件列表的txt文本中（通常是你的拼写错误造成的），那么GetPreviousURL()方法会指向文本文件中的第一个记录，而GetNextURL()方法则会指向最后一个。