---
title: "Varför funkar inte If x = Cookie?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/42876-varför-funkar-inte-if-x-cookie"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "KoTTeN"
published: "2002-05-01T15:30:29.000Z"
updated: "2002-05-01T15:38:40.000Z"
replies: 2
views: 182
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/42876-varför-funkar-inte-if-x-cookie"
---

# Varför funkar inte If x = Cookie?

## #1 — KoTTeN, 2002-05-01T15:30Z

Tja! Koden nedan är till för att loppa ut en dropp down med siffrorna 1 – 50 i. 

```
<SELECT NAME="Nummer">
<OPTION>NR</OPTION>

<%
	For Slinga = 1 To 50	

		Response.Write("<OPTION ")

		If Slinga = Request.Cookies("addera_lat")("Nummer") Then
		Response.Write("SELECTED ")	
		End If
	
		If Slinga < 10 Then 
		Response.Write("VALUE=""0" & Slinga & """>0" & Slinga & "</OPTION>")
		Else
		Response.Write("VALUE=""" & Slinga & """>" & Slinga & "</OPTION>")			
		End If	
	Next 
%>

</SELECT>
```

För varje tal som skrivs ut så kollar jag genom en If-sats om talet liknar ett annat tal som finns lagrad i en kaka. Om värdet stämmer så ska SELECTED skrivas ut. (dvs talet blir förvalt) Men ingenting händer, jag får inga felmedelande, utan listans första post visa (nr). Jag vet att kakan innehåller ett tal, då jag testade att skriva ut det separat. Men om jag testar att byter ut

```
	If Slinga = Request.Cookies("addera_lat")("Nummer")
```

Then 
Mot exempelvis  

```
If Slinga = 10 Then
```

Så kommer siffran 10 fram som förval. 
Varför????

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

## #2 — @nders, 2002-05-01T15:35Z

Svaret på frågan är subtyper.

För att en jämförelse skall kunna vara sann, så måste det du jämför vara av samma subtyp, i detta fall tal. Du måste då använda en typkonverteringsfunktion, exempelvis CInt().

```
If Slinga = CInt(Request.Cookies("addera_lat")("Nummer")) then
```

Koden kan dock ge problem om du försöker konvertera något som inte är ett tal till ett tal. Så om *Request.Cookies("addera_lat")("Nummer")*  är tom, så kan du få problem. Då kan det vara smart att konvertera de båda värden du vill jämföra till strängar i stället, med CStr().

Mvh,

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

## #3 — KoTTeN, 2002-05-01T15:38Z

Tack @nders! Du äger!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/42876-varför-funkar-inte-if-x-cookie
