 Källkoden för /anders.enges/asp/ex3.asp
 Källkoden för /anders.enges/asp/ex3.asp 
<!--#include file="../inc/navstuff.asp" -->
<p>En vanlig situation är att vi vill få in föregående/nästa länkar i våra sidor. 
Om vi löser detta med traditionell HTML så får vi vissa problem om vi 
vill sätta in nya sidor i en sekvens eller om vi vill ändra på den 
ordningsföljd sidorna har.</p> 
<p>Man kan använda ASP <b>Content Linking</b> för att förenkla detta. <p>
Detta går ut på att man skapar en fil med filnamn och beskrivningar 
som sedan hanteras dynamiskt</p>
<p>Ett exempel på en sådan fil kommer nedan</p>
<p><table>
<tr>
<td colspan="3"><hr></td>
</tr>
<%    Set xNextLink = Server.CreateObject ("MSWC.NextLink") %>    
<%    xcount = xNextLink.GetListCount ("../data/intro.txt") %>  
<%    I =2 %>
<%    Do While (I <= xcount)  %>    
<tr>
<td><%= xNextLink.GetNthURL ("../data/intro.txt", I)  %></td>
<td> </td>
<td><%= xNextLink.GetNthDescription ("../data/intro.txt", I) %></td>
<%    I = (I + 1)  %>    
</tr>
<%    Loop  %>    
<tr>
<td colspan="3"><hr></td>
</tr>
<tr>
<td colspan="3">d.v.s</td>
</tr>
<tr>
<td>Filnamn  </td><td>Tabulator  </td><td>Förklaringstext  </td>
</tr>
<tr>
<td colspan="3"><hr></td>
</tr>
</table>
</p>
<p>Ovanstående lista blev dynamiskt skapad med följande kod (filen hette <b>intro.txt</b> och fanns i en <b>data</b> katalog:<br>
<div class=code>
<table><br>
<tr><br>
<td colspan="3"><hr></td><br>
</tr><br>
<span class=asp><%  Set NextLink = Server.CreateObject ("MSWC.NextLink")   <br>
count = NextLink.GetListCount ("../data/intro.txt") <br>
I = 1 <br>
Do While (I <= count)  %></span><br>
<tr><br>
<td><span class=asp><%= NextLink.GetNthURL ("../data/intro.txt", I)  %></span></td><br>
<td> </td><br>
<td><span class=asp><%= NextLink.GetNthDescription ("../data/intro.txt", I) </td><br>
I = (I + 1)  %></span><br>
</tr><br>
<span class=asp><%  Loop  %></span><br>
<tr><br>
<td colspan="3"><hr></td><br>
</tr><br>
</table><br>
</div>
<p>Man behöver ofta länkar till föregående och nästa:<br>
<FONT COLOR=#0000FF>
<a href="<I>FöregåendeURL</i>"><I>FöregåendeFörklaring</I></a><BR>
<a href="<I>NästaURL</i>"><I>NästaFörklaring</I></a><p>
</p></FONT>
<p>Till exempel<br><FONT COLOR=#0000FF>
<a href="intro1.asp">2. Vad är ASP</a><BR>
<a href="intro3.asp">4. När behöver man ASP?</a><BR>
</FONT>
</p>
<p>Och varför inte lite bilder<br><FONT COLOR=#0000FF>
<a href="<I>FöregåendeURL</i>"><BR>
<IMG SRC="../images/prev.gif" width="21" height="15" border="0"><BR>
<I>FöregåendeFörklaring</I></a><BR>
<a href="<I>NästaURL</i>"><BR>
<IMG SRC="../images/next.gif" width="21" height="15" border="0"><BR>
<I>NästaFörklaring</I></a><p>
</p></FONT>
<p>Följande kod gör dessa länkar automatiskt:
</p>
<p>
<div class=code>
<!-- Skapa förra och nästa länkar med hjälp av Content Linking  --><BR>
<span class=asp><%  Set nextdb = Server.CreateObject ("MSWC.NextLink")<br>
listFile = "../data/easy.txt" %></span><BR>
<span class=asp><%  If (nextdb.GetListIndex (listFile) > 1) Then  %></span>  <BR>
<a href="<span class=asp><%  = nextdb.GetPreviousURL (listFile)  %></span>"><BR>
<IMG SRC="../images/prev.gif" width="21" height="15" border="0"><BR>
<span class=asp><%  = nextdb.GetPreviousDescription (listFile)  %></span></a><BR>
<span class=asp><%  End If  %></span><BR>
<a href="<span class=asp><%  = nextdb.GetNextURL (listFile)  %></span>"><BR>
<span class=asp><%  = nextdb.GetNextDescription (listFile)  %></span><br><IMG SRC="../images/next.gif" width="21" height="15" border="0"></a><BR>
<!-- Slut på koden-->
</div>
<div class=res>
<%    Set xnextdb = Server.CreateObject ("MSWC.NextLink")  
xlistFile = "../data/easy.txt" %>
<%    If (nextdb.GetListIndex (xlistFile) > 1) Then  %>    
<a href="<%    = xnextdb.GetPreviousURL (xlistFile)  %>">
<IMG SRC="../images/prev.gif" width="21" height="15" border="0">
<%    = xnextdb.GetPreviousDescription (xlistFile)  %></a>
<%    End If  %>
<a href="<%    = xnextdb.GetNextURL (xlistFile)  %>">
<%    = xnextdb.GetNextDescription (xlistFile)  %><IMG SRC="../images/next.gif" width="21" height="15" border="0"></a>
</div><br>
<p>
Raden:<br>
<span class=asp><%  Set nextdb = Server.CreateObject ("MSWC.NextLink")  %></span><BR>
skapar ett objekt av typen <b>Content Linking Component</b> som kan användas för 
navigering.<br>
<br>
<span class=asp><%  = nånSlagsAspKod  %></span><BR>
gör att resultatet av ASPkoden sätts in direkt i HTML koden<br>
<dl><b>Content Linking Component</b> komponenten har följande metoder:<br><br>
<dt>GetListCount </dt>
<dd>Räknar antal reder i den fil som används för navigeringen (intro.txt i det här fallet)</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetListCount(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  count = nextdb.GetListCount("../data/index.txt") %></span> </dd>
</dl>
<br>
<dt>GetNextURL </dt>
<dd>Returnerar URL för nästa rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetNextURL(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  nextFile = nextdb.GetNextURL("../data/index.txt") %></span> </dd>
</dl>
<br>
<dt>GetNextDescription </dt>
<dd>Returnerar förklaringen för nästa rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetNextDescription(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  nextDesc = nextdb.GetNextDescription("../data/index.txt") %></span> </dd>
</dl>
<br>
<dt>GetPreviousURL </dt>
<dd>Returnerar URL för föregående rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetPreviousURL(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  prevFile = nextdb.GetPreviousURL("../data/index.txt") %></span> </dd>
</dl>
<br>
<dt>GetPreviousDescription </dt>
<dd>Returnerar förklaringen för föregående rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetPreviousDescription(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  prevDesc = nextdb.GetPreviousDescription ("../data/index.txt") %></span></dd>
</dl>
<br>
<dt>GetListIndex</dt>
<dd>Returnerar index i navigeringsfilen för den nuvarande filen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetListIndex(<i>listfil</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  currentIndex = nextdb.GetListIndex("../data/index.txt") %></span></dd>
</dl>
<br>
<dt>GetNthURL </dt>
<dd>Returnerar URL för en viss rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetNthURL(<i>listfil</i>, <I>index</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  fileIs = nextdb.GetListCount ("../data/index.txt",2) %></span></dd>
</dl>
<br>
<dt>GetNthDescription </dt>
<dd>Returnerar förklaringen för en viss rad i navigeringsfilen</dd>
<br>
<br>
<dl>
<dt>Syntax:
<dd><i>objekt</i>.GetNthDescription(<i>listfil</i>, <I>index</i>)</dd>
<br>
<dt>Exempel:
<dd><span class=asp><%  count = nextdb.GetNthDescription ("../data/index.txt",3) %></span></dd>
</dl>
</dl> 
Man kan exempelvis skriva in följande i ASP filen för att skriva ut alla filer<br>
<div class=code>
<span class=asp><%  Set NextLink = Server.CreateObject ("MSWC.NextLink")<BR>
  count = NextLink.GetListCount("../data/ex.txt")<BR>
  I = 1<br>
  Do While (I <= count)  %></span><BR>
<span class=asp><%  = NextLink.GetNthURL("../data/ex.txt", I)  %></span><br><BR>
<span class=asp><%  I = (I + 1)  </span><BR>
<span class=asp>  Loop  %></span><BR>
</div>
<p>
Eller detta för att skriva ut alla beskrivningar<br>
<div class=code>
<span class=asp><%  Set NextLink = Server.CreateObject ("MSWC.NextLink")<BR>
  count = NextLink.GetListCount("../data/ex.txt")<BR>
  I = 1<br>
  Do While (I <= count)  %></span><BR>
<span class=asp><%  = NextLink.GetNthDescription("../data/ex.txt", I)  %></span><br><BR>
<span class=asp><%  I = (I + 1)  </span><BR>
<span class=asp>  Loop  %></span><BR>
</div>
<p>
Varför inte kombinera i hop detta till:<br>
<div class=code>
<ol><br>
<span class=asp><%  Set NextLink = Server.CreateObject ("MSWC.NextLink")  %></span><BR>
<span class=asp><%  count = NextLink.GetListCount("../data/ex.txt")  %></span><BR>
<span class=asp><%  I = 1  %></span><ul><br>
<span class=asp><%  Do While (I <= count)  %></span><BR>
<li><a href=" <span class=asp><%  = NextLink.GetNthURL("../data/ex.txt", I)  %></span>"><BR>
<span class=asp><%  = NextLink.GetNthDescription("../data/ex.txt", I)  %></span></a><BR>
<span class=asp><%  I = (I + 1)  %></span><BR>
<span class=asp><%  Loop  %></span><BR>
</ul><br>
</ol><br>
</div>
<br>
Vilket resulterar i HTML koden:<br>
<div class=res>
<ol><br>
<ul><br>
<%    xcount = xNextLink.GetListCount ("../data/ex.txt") %>  
<%    I = 1 %>
<%    Do While (I <= xcount)  %>    
<li><a href="<%= xNextLink.GetNthURL ("../data/ex.txt", I)  %>">
<%= xNextLink.GetNthDescription ("../data/ex.txt", I) %>  </a> <br>
<%    I = (I + 1)  %>    
<%    Loop  %>    
</ul><br>
</ol><br>
</div><p>
Vilket i sin tur ger resultatet:<br>
<div class=res>
<ol>
<%    xcount = xNextLink.GetListCount ("../data/ex.txt") %>  
<%    I = 1 %>
<ul>
<%    Do While (I <= xcount)  %>    
<li><a href=" <%= xNextLink.GetNthURL ("../data/ex.txt", I)  %>    "> 
<%= xNextLink.GetNthDescription ("../data/ex.txt", I) %>    </a> 
<%    I = (I + 1)  %>    
<%    Loop  %>    
</ul>
</ol>
</div>
Denna metod går att kombinera med include. <a href="easy.asp#tab">Se exemplet på detta</a><p>
För dessa sidor används följande konstruktion<p>
<div class=code>
<span class=asp><%@ LANGUAGE="VBSCRIPT" %><br>
<%  listFile = "../data/easy.txt" %></span><br>
<font color="#006400"><!--#include file="../inc/navstuff.asp" --></Font>
</div><p>
Där man först sätter default script language. Sedan sägs det vilken listfil som används. 
Sedan inkluderas filen <b>navstuff.txt</b> som innehåller koden som går igenom aktuell listfil<p>
<div class=code>
<!-- Skapa förra och nästa länkar med hjälp av Content Linking  --><BR>
<span class=asp><%  Set nextdb = Server.CreateObject ("MSWC.NextLink")<br></span>
<span class=asp><%  If (nextdb.GetListIndex (listFile) > 1) Then  %></span>  <BR>
Och så vidare...<p>
</div><p>
<p>Detta gör att när en sida laddas sätts automatiskt rätt listfil<p>
Fördelen med denna metod är att man kan sätta in nya filer i fillistan eller ändra på 
förklaringarna. Detta gör att navigeringsordningen kommer att ändras utan att man behöver 
skriva om koden i html/asp sidorna</p>
<!--#include file="../inc/footer.asp" -->