---
title: "Varför syntaxfel?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/149607-varför-syntaxfel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "bigsky"
published: "2006-08-01T10:24:10.000Z"
updated: "2006-08-01T15:18:50.000Z"
replies: 20
views: 629
page: 1
pages: 2
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/149607-varför-syntaxfel"
---

# Varför syntaxfel?

_Sida 1 av 2._

## #1 — bigsky, 2006-08-01T10:24Z

```
Sub PageContent(ByVal strPageContent)
  strPageContent = Replace(strPageContent, "[BoxFeaturedProducts]", Call BoxFeaturedProducts)
  Response.Write strPageContent
End Sub
```

Call BoxFeaturedProducts är också en Sub.

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

## #2 — Josef, 2006-08-01T10:26Z

Jag tror det fungerar om du tar bort "Call"

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

## #3 — bigsky, 2006-08-01T10:31Z

Då blir det Inkompatibla typer: 'BoxFeaturedProducts'.

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

## #4 — nitro2k01, 2006-08-01T10:31Z

Instämmer! Call bör du inte använda på det viset. (Eller överhuvudtaget)
Dock så verkar det konstigt att anropa Replace med en sub på det viset, eftersom en sub inte ger något retuvärde.
Vad försöker du åstadkomma?

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

## #5 — bigsky, 2006-08-01T10:42Z

Jag loppar ut html-kod från en databas. Men asp-taggarna skrivs inte ut på sidan, endast som text i källkoden.

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

## #6 — nitro2k01, 2006-08-01T10:55Z

BoxFeaturedProducts hämtar något från databasen? Detta måste du returnera samt ändra BoxFeaturedProducts till att bli en function, typ så här:

```
Public Function BoxFeaturedProducts() as String ' Minns inte om det kallas public eller nåt annat i VB. Lämna det som står innan Sub orört.
dim retval as String

...

BoxFeaturedProducts = retval ' Här sätts returvärdet

End Function
```

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

## #7 — Josef, 2006-08-01T11:01Z

Tror inte du kan sätta returtyp i asp.

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

## #8 — nitro2k01, 2006-08-01T11:16Z

Jo

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

## #9 — Josef, 2006-08-01T11:22Z

Det tror inte jag. 
Detta fungerar inte

```
<%
Public Function GetString() As String
	Dim s As String

	s = "Hello World!"

	GetString = s
End Function

Response.Write(GetString())
%>
```

Medans 

```
<%
Public Function GetString()
	Dim s

	s = "Hello World!"

	GetString = s
End Function

Response.Write(GetString())
%>
```

... detta gör det.

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

## #10 — bigsky, 2006-08-01T12:13Z

Så här ser det ut:

HTML-koden ligger i en databas. Koden kan man uppdatera online med hjälp av ett WYSIWYG-verktyg. Vissa färdigprogrammerade element (tex. formulär, bilder etc) i koden ska kunna placeras ut i koden med ett anrop tex. \[BoxSignup\].

När HTML-koden skrivs ut på webbsidan vill jag att anropet \[BoxSignup\] ska ersättas med det färdigprogrammerade elementet, tex. en bild eller ett formulär. Därav anropet med en replace och sub. Alla färdigprogrammerade element är subbar eller funktioner.

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

## #11 — yohpops, 2006-08-01T12:41Z

Hur ser HTML-koden ut?

Förstår jag dig rätt om att du vill ersätta texten "BoxSignup" med en sub och skriva ut ASP-kod??

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

## #12 — bigsky, 2006-08-01T12:42Z

Helt rätt men jag vill skriva ut HTML inte ASP. Det är bara vanliga formulär, bilder och tabeller som ska skrivas ut.

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

## #13 — yohpops, 2006-08-01T12:45Z

Skicka HTML-koden och funktionen.

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

## #14 — bigsky, 2006-08-01T12:49Z

```
Sub BoxFeaturedProducts
	    Response.Write "<table bgcolor=""" & strColor1 & """ border=""0"" cellpadding=""4"" cellspacing=""1"" width=""558"">"
	    Response.Write "<tr>"
	    Response.Write "<td bgcolor=""" & strColor1 & """ width=""558"" height=""20"" align=""center"" valign=""middle"" class=""headline2"" colspan=""2"">" & strTextFeaturedProducts & "</td>"
	    Response.Write "</tr>"
	  Call OpenConn()
      Set rsShowFeaturedProducts = Conn.Execute("SELECT Id, Pid, Product, Description, Price, Vat, ShowDiscount, DiscountPrice, ImgSmall, Img01 FROM tblProducts WHERE Display = True AND Featured = True AND Lang = '" & Request.Cookies("lang") & "' ORDER BY Id DESC")
	  iLoop = 0
      If Not rsShowFeaturedProducts.EOF Then
	  Do Until rsShowFeaturedProducts.EOF
	  If iLoop Mod 2 = 0 Then
	    Response.Write "<tr>"
	  End If
      Set Jpeg = Server.CreateObject("Persits.Jpeg")
      Jpeg.Open strFilePath1 & rsShowFeaturedProducts("Img01")
	  strImageWidth = Jpeg.OriginalWidth
      strImageHeight = Jpeg.OriginalHeight
	  Set Jpeg = Nothing
	    Response.Write "<td bgcolor=""" & strTableColor & """ width=""279"" height=""20"" align=""left"" valign=""top"">"
	    Response.Write "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""269"">"
	    Response.Write "<tr>"
	    Response.Write "<td width=""115"" height=""20"" align=""left"" valign=""middle""><a href=""#"" onClick=""centerpopup('" & strHardLinkUrl & "/inc_productimage.asp?prod=" & rsShowFeaturedProducts("Id") & "&img=" & rsShowFeaturedProducts("Img01") & "&width=" & strImageWidth & "&height=" & strImageHeight & "&windowwidth=" & strImageWidth & "'," & strImageWidth & "," & strImageHeight + 30 & ");""><img src=""" & strHardLinkImageUrl & "/products_small/" & rsShowFeaturedProducts("ImgSmall") & """ width=""110"" height=""110"" border=""0"" alt=""" & strImgTitle & " - " & rsShowFeaturedProducts("Product") & """></a></td>"
	    Response.Write "<td width=""154"" height=""20"" align=""left"" valign=""top"">"
	    Response.Write "<table border=""0"" cellpadding=""4"" cellspacing=""0"" width=""154"">"
	    Response.Write "<tr>"
	    Response.Write "<td width=""154"" height=""20"" align=""left"" valign=""top"" colspan=""2""><a href="""" class=""productlink"">" & rsShowFeaturedProducts("Product") & "</a></td>"
	    Response.Write "</tr>"
	    Response.Write "<tr>"
	    Response.Write "<td width=""154"" height=""20"" align=""left"" valign=""top"" colspan=""2"">" & rsShowFeaturedProducts("Description") & "</td>"
	    Response.Write "</tr>"
	  If rsShowFeaturedProducts("ShowDiscount") = True Then
	    Response.Write "<tr>"
        Response.Write "<td width=""154"" height=""20"" align=""left"" valign=""top"" colspan=""2"" class=""productprice"">" & strTextProductOldPrice & ""
		Response.Write "&nbsp;<strike>"
        Call BoxConvertCurrency(rsShowFeaturedProducts("Price"), rsShowFeaturedProducts("Vat"))
		Response.Write "</strike>"
		Response.Write "<br>" & strTextProductDiscountPrice
		Response.Write "&nbsp;<b>"
		Call BoxConvertCurrency(rsShowFeaturedProducts("DiscountPrice"), rsShowFeaturedProducts("Vat"))
		Response.Write "</b>"
		Response.Write "<br>" & strTextProductSave & "&nbsp;"
		Call BoxCalculateSavings(rsShowFeaturedProducts("Price"), rsShowFeaturedProducts("DiscountPrice"), rsShowFeaturedProducts("Vat"))
        Response.Write "</td>"
        Response.Write "</tr>"
	  Else
	    Response.Write "<tr>"
		Response.Write "<td width=""154"" height=""20"" align=""left"" valign=""top"" colspan=""2"" class=""productprice"">" & strTextProductPrice
		Response.Write "&nbsp;<b>"
		Call BoxConvertCurrency(rsShowFeaturedProducts("Price"), rsShowFeaturedProducts("Vat"))
		Response.Write "</b></td>"
        Response.Write "</tr>"
	  End If
	    Response.Write "<tr>"
	    Response.Write "<td width=""77"" height=""20"" align=""left"" valign=""top"">"
	    Response.Write "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""67"" height=""21"">"
		Response.Write "<tr>"
	    Response.Write "<td background=""" & strHardLinkImageUrl & "/button_left.gif"" width=""9"" height=""21"" align=""center"" valign=""middle""></td>"
	    Response.Write "<td background=""" & strHardLinkImageUrl & "/button_middle.gif"" width=""49"" height=""21"" align=""center"" valign=""middle""><a href=""" & strHardLinkUrl & "/default.asp"" class=""buttonlink"">" & strTextProductReadMore & "</a></td>"
		Response.Write "<td background=""" & strHardLinkImageUrl & "/button_right.gif"" width=""9"" height=""21"" align=""center"" valign=""middle""></td>"
	    Response.Write "</tr>"
	    Response.Write "</table></td>"
		Response.Write "<td width=""77"" height=""20"" align=""left"" valign=""top"">"
	    Response.Write "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""67"" height=""21"">"
	    Response.Write "<tr>"
		Response.Write "<td background=""" & strHardLinkImageUrl & "/button_left.gif"" width=""9"" height=""21"" align=""center"" valign=""middle""></td>"
	    Response.Write "<td background=""" & strHardLinkImageUrl & "/button_middle.gif"" width=""49"" height=""21"" align=""center"" valign=""middle""><a href=""" & strHardLinkUrl & "/default.asp"" class=""buttonlink"">" & strTextProductBuy & "</a></td>"
	    Response.Write "<td background=""" & strHardLinkImageUrl & "/button_right.gif"" width=""9"" height=""21"" align=""center"" valign=""middle""></td>"
		Response.Write "</tr>"
	    Response.Write "</table></td>"
	    Response.Write "</tr>"
		Response.Write "</table></td>"
		Response.Write "</tr>"
		Response.Write "</table></td>"
	  iLoop = iLoop + 1
	  If iLoop Mod 2 = 0 Then
		Response.Write "</tr>"
	  End If
	  rsShowFeaturedProducts.MoveNext
	  Loop
	  End If
	  rsShowFeaturedProducts.Close : Set rsShowFeaturedProducts = Nothing
	  Call CloseConn()
		Response.Write "</td>"
		Response.Write "</tr>"
		Response.Write "</table>"
    End Sub
```

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

## #15 — bigsky, 2006-08-01T12:50Z

Det är inget fel på HTML-koden som ska skrivas ut eller själva subben. Problemet ligger i att byta ut \[BoxFeaturedProducts\] som kommer från databasen mot att anropa subben BoxFeaturedProducts.

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

## #16 — bigsky, 2006-08-01T12:53Z

Enklast hade ju varit om man bara kunder spara \<% Call BoxFeaturedProducts %\> direkt i databasen, men då händer ju inget när man skriver ut HTML-koden från databasen.

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

## #17 — yohpops, 2006-08-01T13:03Z

Du måste göra om suben till en funktion och returnera den html-koden..

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

## #18 — bigsky, 2006-08-01T13:06Z

Men det funkade ju perfekt! Tänk att det var så enkelt... Hade för mig att jag redan provat på att ändra den till en funktion men jaja... tack.

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

## #19 — bigsky, 2006-08-01T13:48Z

Fast riktigt så enkelt var det kanske inte. Problemet nu är att funktionen BoxFeaturedProducts skrivs ju ut oavsett om elementet \[BoxFeaturedProducts\] finns med i databasen eller inte.

```
Function BoxFeaturedProducts
Response.Write "<table bgcolor=""" & strColor1 & """ border=""0"" cellpadding=""4"" cellspacing=""1"" width=""558"">"
Response.Write "<tr>"...
```

```
Sub PageContent(ByVal strPageContent)
strPageContent = Replace(strPageContent, "[BoxFeaturedProducts]", BoxFeaturedProducts)
Response.Write strPageContent
End Sub
```

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

## #20 — yohpops, 2006-08-01T14:47Z

Du kan inte ha response.write i funktionen.
Du måste spara det du skriver ut i en variabel och returnera det..

```
Function BoxFeaturedProducts
Dim v_ret
v_ret = "<table bgcolor=""" & strColor1 & """ border=""0"" cellpadding=""4"" cellspacing=""1"" width=""558"">"
v_ret = v_ret & "<tr>"
BoxFeaturedProducts = v_ret
End Function
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/149607-varför-syntaxfel  
Nästa sida: https://www.webforum.nu/amne/asp/149607-varför-syntaxfel/page2.md
