---
title: "Elaka Kakor!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/58363-elaka-kakor"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Marckus"
published: "2002-11-07T16:57:42.000Z"
updated: "2002-11-07T18:43:53.000Z"
replies: 7
views: 354
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/dotnet/58363-elaka-kakor"
---

# Elaka Kakor!

## #1 — Marckus, 2002-11-07T16:57Z

Hejsan!

Har lite problem med kakor i ASP.net!

Koden för att sätta en kak gör jag på följande sätt!

HttpCookie myCookie = new HttpCookie("intraNet");
myCookie.Values.Add("Datum",now.ToString("d"));
Response.AppendCookie(myCookie);
			
Hämtar kakan på följande sätt!

HttpCookie myFetchCookie = Request.Cookies\["intraNet"\];
string kakString = myFetchCookie.Values\["Datum"\];

Sen kollar jag med en if

if(kakString.ToString() != now.ToString("d"))
{
}

Problemet är att den uppdaterar kakan hela tiden så den kör aldrig koden i IF strängen .. Jag vill alltså att den kör if strängkoden en gång och sen sätta kakan och dagen efter tillåta den köra if strängen igen.. 

Om ni behöver bättre förklaring säg till!!

Mvh
Marcus

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

## #2 — Marckus, 2002-11-07T17:03Z

Just det.. Error jag får är 

Object reference not set to an instance of an object.

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

## #3 — NETwork, 2002-11-07T17:06Z

Nu skapar du ju en ny kaka varje gång innan du går in i din ifsats. Sätt en ifsats runt den kod som skapar kakan där du kollar om kakan redan finns... gör den det så hoppar du vidare utan att skapa en ny! 

```
if(Request.Cookies["intraNet"] == null) {
  HttpCookie myCookie = new HttpCookie("intraNet"); 
  myCookie.Values.Add("Datum",now.ToString("d")); 
  Response.AppendCookie(myCookie); 
}
```

Sen behöver du inte göra om din kakstring till en sträng eftersom det är den ju redan!

```
if(kakString != now.ToString("d"))
```

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

## #4 — Marckus, 2002-11-07T17:12Z

Tackar! .. 
Problemet är att han fortfarande skippar att köra självaste if satsen där jag har annan kod !

Och om jag slänger in cookie biten i självaste den andra if satsen så får jag Object reference not set to an instance of an object.

Mvh
Marcus

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

## #5 — NETwork, 2002-11-07T17:21Z

Jo, men kaksträng är väl lika med now.ToString("d"), alltså är villkoert kakString != now.ToString("d") inte giltigt. 

Skriv ut dina variabler innan if-satsen så ser du vad du jämför med!

```
Response.Write(kakString + " : " + now.ToString("d"));
```

> **Marckus skrev:**
>
> Och om jag slänger in cookie biten i självaste den andra if satsen så får jag Object reference not set to an instance of an object.

Vet inte om jag förstår hur du försöker göra riktigt, kan du visa med kod hur du har gjort?

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

## #6 — Marckus, 2002-11-07T17:49Z

Sitter och skriver om det mesta igen.. 

Det jag vill ha är alltså 

Kolla om kakan finns, Om kaka finns, kolla värdet.. Om värdet är äldre än dagens värde (Datum) så kör koden!

Om värdet är samma som dagens värde, Kör inte koden.

Om kakan inte finns, kör koden och ge en kaka till personen så han har en nästa gång han kommer tillbaka..

Mvh
Marcus

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

## #7 — Marckus, 2002-11-07T18:34Z

if(Request.Cookies\["intraNet"\] == null)
			{
				HttpCookie myCookie = new HttpCookie("intraNet");
				myCookie.Values.Add("Datum",now.ToString("d"));
				myCookie.Expires = now.AddDays(1);
				Response.AppendCookie(myCookie);
			}

			HttpCookie myFetchCookie = Request.Cookies\["intraNet"\];
			string kakString = myFetchCookie.Values\["Datum"\];

			if (kakString != now.ToString("d"))
				{

					SqlConnection myConn = new SqlConnection("server=NETDOT;database=Development;user id=marckus;password=lösenordhär");;
					string myQuery = "select pri from viktig where pri = '5'";
					SqlDataAdapter myCommand = new SqlDataAdapter(myQuery,myConn);

					myConn.Open();
			
					DataSet ds = new DataSet();
					myCommand.Fill(ds);

					if(ds.Tables\[0\].Rows.Count \>= 1)
					{
						string s = "\<script language=JavaScript\>";
						s += "function ny_sida_auto(url,width,height)";
						s += "{";
						s += "egenskaper='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizeable=no';";
						s += "egenskaper+=',width='+width;";
						s += "egenskaper+=',height='+height;";
						s += "unik=new Date();";
						s += "unik=unik.getSeconds()+'\_'+unik.getMinutes()+'\_'+unik.getHours();";
						s += "window.open(url,unik,egenskaper);";
						s += "}";
						s += "adress='http://192.168.0.15/viktig/show.aspx';";
						s += "bredd=350;";
						s += "hojd=300;";
						s += "ny_sida_auto(adress,bredd,hojd);";
						s += "\</script\>";
						RegisterStartupScript("script1", s);
					}

					myConn.Close();
					myConn.Dispose();
				}

Så ser koden ut .. jag har upptäckt att den ger mig "Object reference not set to an instance of an object." om cookien inte finns men om den finns så har cookien samma värde som dagens värde och då kör han inte koden som sagt! 

Får peta vidare men nu har ni koden..

Mvh
Marcus

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

## #8 — Marckus, 2002-11-07T18:43Z

Puuh! Löste det.. Istället för 

if(Request.Cookies\["intraNet"\] == null) 
{ 
HttpCookie myCookie = new HttpCookie("intraNet"); 
myCookie.Values.Add("Datum",now.ToString("d")); 
myCookie.Expires = now.AddDays(1); 
Response.AppendCookie(myCookie); 
} 

HttpCookie myFetchCookie = Request.Cookies\["intraNet"\]; 
string kakString = myFetchCookie.Values\["Datum"\]; 

if (kakString != now.ToString("d")) {}

så kör jag nu 

if(Request.Cookies\["intraNet"\] == null) 
{ 
HttpCookie myCookie = new HttpCookie("intraNet"); 
myCookie.Values.Add("Checked", "0"); 
Response.AppendCookie(myCookie); 
} 

HttpCookie myFetchCookie = Request.Cookies\["intraNet"\]; 
string kakString = myFetchCookie.Values\["Checked"\]; 

if (kakString != "1") 
{
HttpCookie myCookie = new HttpCookie("intraNet"); 
myCookie.Values.Add("Checked", "1"); 
myCookie.Expires = now.AddHours(12);
Response.AppendCookie(myCookie); 
}

Då funkar det fin fint!

Mvh
Marcus

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/58363-elaka-kakor
