---
title: "Länka till en sida med hjälp av sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/186107-länka-till-en-sida-med-hjälp-av-sträng"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "bikic"
published: "2011-02-17T11:55:50.000Z"
updated: "2011-03-11T06:41:02.000Z"
replies: 18
views: 1952
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/186107-länka-till-en-sida-med-hjälp-av-sträng"
---

# Länka till en sida med hjälp av sträng

## #1 — bikic, 2011-02-17T11:55Z

Hej alla,

jag har en utmaning. Finns det något sätt att länka, på samma sätt som man gör med en include-fil, i en sträng?

Normalt kan man hämta information från en sida med hjälp av en include-fil. Ex. \<!-- #INCLUDE virtual="include/header.asp" --\>

Jag har nu skapat en replacefunktion i ett adminverktyg som gör det möjligt att skriva "shortcodes" som ex. \[login\]. När jag skriver detta vill jag hämta information från en speciell sida på samma sätt som med en include, någon som kan ge mig tips på detta?

Jag skriver \[login\] i en textarea i mitt adminverktyg, denna ska ersättas med en include-fil som då ska visa innehållet i include-filen. Är detta möjligt?

Permalänk: https://www.webforum.nu/p/186107

## #2 — bikic, 2011-02-18T07:35Z

Okej, en massa views men inga svar - jag har väl formulerat mig dåligt igen ;)

För att göra en lång historia kort.

Jag har olika moduler för att visa nyheter, produkter och andra goda saker. Dessa vill jag kunna anropa om man ex. anger \[callNews\] i en textarea i ett adminverktyg.

Jag har testar fram och tillbaka men jag får det inte till att fungera. En tanke var att använda mig av includefiler, men detta går tydligen inte. Jag fick då tipset om Server.Execute, men det klarar inte IIS:n av på min server. Då fick jag idén om subs. Är detta möjligt?

Min replacefunktion ser ut så här:

```

Function shortcodes(strString)
    
    strString = Replace(strString, "[callNews]", "Här vill jag hämta nyhetsmodulen.")

    shortcodes = strString

End Function
```

Permalänk: https://www.webforum.nu/p/2268089

## #3 — voigtann1, 2011-02-18T07:46Z

Server.Execute är inte alls det du är ute efter, då du inte kan få ut strängen ifrån server.Execute. Inte heller en Metod(sub) då en sub inte retunera något

Permalänk: https://www.webforum.nu/p/2268090

## #4 — bikic, 2011-02-18T08:13Z

Voigt: Vart är tipsen då? ;)

Hur kan jag gå vidare? Är det så enkelt att det inte går? Hoppas verkligen inte att det är så.

Permalänk: https://www.webforum.nu/p/2268091

## #5 — bikic, 2011-03-10T18:09Z

Tar upp en gammal tråd igen som inte är löst för mig.

Jag har som sagt en adminpanel, här använder jag mig av vissa kortkommandon såsom (b)(/b) bold och andra bra metoder.

Vad jag också vill är att man ska kunna skriva \[callNews\] för att kunna visa de senaste nyheterna, \[callSubNav\] för att visa subnavigeringen osv osv.

**Funktionen för att hantera kortkommandon ser ut så här:**

```
Function shortcodes(strString)

    strString = Reggex(strString, "\[b\]", "<strong>")
    strString = Reggex(strString, "\[\/b\]", "</strong>")
    strString = Replace(strString, "[callNews]", "nyhetsfunktionen")

    shortcodes = strString

End Function
```

När jag hämtar exempelvis en text från en sida så ser det ut så här:

```

Response.Write shortcodes(Recset("fldText"))
```

**Koden för nyheterna ser ut så här:**

```

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT TOP 1 * FROM tblNews ORDER BY fldDate DESC"
RecSet2.Open SQL2, Connect, 1, 2
					
	If Recset2.EOF Then
	Else
						
		Do Until Recset2.EOF
							
			Response.Write "Nyhetsrubik, text och datum..."
							
		Recset2.Movenext
		Loop
					
	End If
					
RecSet2.Close
Set RecSet2 = Nothing
```

Jag vet bara inte hur jag ska få till det. Det borde ju inte vara så svårt.

Mycket tacksam för svar!

Permalänk: https://www.webforum.nu/p/2272401

## #6 — voigtann1, 2011-03-10T18:21Z

Skapa en funktion som retunera din kod som en sträng och kör den den.

```
function s()
dim str
str = "Hej på dig"
str = str & " voigtan!"

s = str
End Function
```

Så byt ut din response.write kod till att bygga upp den och retunera den. Förstå inte vad det svåra är (du har ju gjort detta med javascript, principen är densamma i ASP).

sen:

```
	If Recset2.EOF Then
	Else
```

Skriv om det till If Not RecSet2.EOF, om du inte skall skriva ut något om den är EOF så är det bara onödigt att skriva det.

Permalänk: https://www.webforum.nu/p/2272402

## #7 — bikic, 2011-03-10T20:35Z

Jo, jag vet att man kan bygga det så men det funkar inte. Har verkligen försökt.

```
strString = Replace(strString, "[callNews]", callNews)
```

```
function callNews()

dim str

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT TOP 1 * FROM tblNews ORDER BY fldDate DESC"
RecSet2.Open SQL2, Connect, 1, 2
					
	If Recset2.EOF Then
	Else
		str = "<div class=""grid-31"">"				
		Do Until Recset2.EOF
							
			str = str & "Nyhetsrubik, text och datum..."
							
		Recset2.Movenext
		Loop
		str = str & "</div>"			
	End If
					
RecSet2.Close
Set RecSet2 = Nothing

End function
```

Permalänk: https://www.webforum.nu/p/2272407

## #8 — voigtann1, 2011-03-10T20:37Z

Din funktion retunera ju inget. låt den retunera str

```
...
Set RecSet2 = Nothing
callNews = str

End Function
```

Permalänk: https://www.webforum.nu/p/2272408

## #9 — bikic, 2011-03-10T20:46Z

Glömde den nu när jag skrev.

Här är ett konstigt felmeddelande jag får när jag gör i exemplet ovan:

```

Active Server Pages, ASP 0107 (0x80004005)
Datan som behandlas ligger över den tillåtna nivån.
/presentation/default.asp
```

Permalänk: https://www.webforum.nu/p/2272410

## #10 — voigtann1, 2011-03-10T20:53Z

Var är Connect i din funktion? du måste få med den, antingen skapar du upp den i din funktion eller så inkludera du den i din funktion när du anropar den (parameter in i din funktion).

Permalänk: https://www.webforum.nu/p/2272412

## #11 — bikic, 2011-03-10T20:54Z

Den finns innan och avslutas direkt efter.

Permalänk: https://www.webforum.nu/p/2272413

## #12 — voigtann1, 2011-03-10T20:55Z

Nej, det gör den inte alls.

```
set connection = ....
function callNews()
...
End function
Set Connection = Nothing
```

sen anropar du din funktion på x antal rader längre ner.... där har du inte ett Connection objekt.

Permalänk: https://www.webforum.nu/p/2272414

## #13 — bikic, 2011-03-10T21:00Z

Jag menar i min fil givetvis, inte i koden ovan.

Högst upp på sidan så connectar jag till databasen och längst ner på sidan så avslutar jag.

Permalänk: https://www.webforum.nu/p/2272415

## #14 — voigtann1, 2011-03-10T21:04Z

> **[bikic skrev:](https://www.webforum.nu/p/1530889)**
>
> Jag menar i min fil givetvis, inte i koden ovan.
> 
> Högst upp på sidan så connectar jag till databasen och längst ner på sidan så avslutar jag.

Ja, men var ligger dina metoder? felmeddelandet är med 99% säkerhet att Connect inte finns och kan då inte heller ansluta sig till en databas.

Permalänk: https://www.webforum.nu/p/2272416

## #15 — bikic, 2011-03-10T21:05Z

Ok, ska kolla ytterligare en gång.

Permalänk: https://www.webforum.nu/p/2272417

## #16 — bikic, 2011-03-11T06:24Z

Fick det faktiskt till att fungera igår, det hade något med kopplingen att göra. Saker och ting hämtades i fel ordning, kan lätt bli så med includefiler. 

Tack!

Men nu uppstod ett annat fel ;)

Funktionen callNews förekommer nu överallt där shortcodes() finns. Verkar inte som om den triggas av:

```
Function shortcodes(strString)

    strString = Replace(strString, "[callNews]", callNews)

    shortcodes = strString

End Function
```

Den förekommer oavsett om jag skriver \[callNews\] i texten eller inte.

Permalänk: https://www.webforum.nu/p/2272427

## #17 — voigtann1, 2011-03-11T06:29Z

Anropar en funktion skall ALLTID ha ()

> Fick det faktiskt till att fungera igår, det hade något med kopplingen att göra. Saker och ting hämtades i fel ordning, kan lätt bli så med includefiler.
>
> Tack!

Beror helt och hållet hur du kodar, om du bygger kod rätt så spelar bara det någon roll när du kör koder.

Permalänk: https://www.webforum.nu/p/2272428

## #18 — bikic, 2011-03-11T06:40Z

Jag hade min funktionsfil med shortcodes, callnews och andra funktioner innan min header och det var i headern jag öppnade databasen. Men det är sånt man inte tänker på först när man behöver det. Har fungerat för mig i alla år.

Tack för hjälpen och tack för ett fantastiskt forum!

Ha en trevlig fredag!

Permalänk: https://www.webforum.nu/p/2272430

## #19 — bikic, 2011-03-11T06:41Z

Att tillägga så har mina tidigare funktioner inte baserat på en databasfråga.

Permalänk: https://www.webforum.nu/p/2272431

---

Tråden på webben: https://www.webforum.nu/amne/asp/186107-länka-till-en-sida-med-hjälp-av-sträng
