webForumDet fria alternativet

kakor

12 svar · 305 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#1

Nästa fråga :) Hur kollar jag om det finns en cookie?

icaaqMedlem sedan okt. 20005 273 inlägg
#2

Jag ger ett exempel på hur jag hade gjort i ASP

[red]
If Request.Cookies("mindomän").Haskeys Then
blbla
[/red]

Men hur gör man i asp.Net?

NETworkMedlem sedan juni 20011 732 inlägg
#3

Ett sätt att kolla om kakan finns eller inte är att se om den returnerar null:

if (Request.Cookies["Kakan"] != null)
//Kakan finns
else
//kakan finns inte

icaaqMedlem sedan okt. 20005 273 inlägg
#4

Nu ska jag ge mig ut på djupt vatten...... :l

Skulle jag gjort nån slags funktion som kollade om det fanns nån kaka...Det är väl det OOP handlar om?

skulle nån kunna leda mig över ån ??

NETworkMedlem sedan juni 20011 732 inlägg
#5

Nu vet jag inte hur du jobbar, om du använder code behind och vs.net? Men en stor skillnad mellan gamla asp och .net är just att du använder ett riktigt objektorienterat programmeringsspråk. Ja, du anropar koden i en funktion. Om du vill kolla om kakan hos en användare finns när h*n kliver in på sidan så gör du detta i pageload.

private void Page_Load(object sender, System.EventArgs e)
{
//...kod...
}

Du kan även skapa en egen funktion som du anropar i pageloaden, exempelvis om du behöver återanvända den här funktionen även från andra ställen (dessutom bör du om möjligt undvika för mycket kod i pageload, det brukar bli dåligt och rörigt). En enkel funktion utan inparametrar som inte returnerar något kan se ut så här:

void min_funktion() {
if (Request.Cookies["Kakan"] != null)
//Kakan finns
else
//kakan finns inte
}

Sen i pageloaden så anropar du bara funktionen:

min_funktion();

icaaqMedlem sedan okt. 20005 273 inlägg
#6

Nu vet jag inte hur du jobbar, om du använder code behind och vs.net?

Jo, det är precis så som jag har det nu

Du kan även skapa en egen funktion som du anropar i pageloaden, exempelvis om du behöver återanvända den här funktionen även från andra ställen (dessutom bör du om möjligt undvika för mycket kod i pageload, det brukar bli dåligt och rörigt).

Men även om man bara ska använda funktionen 1 gång ska man ändock göra det till en funktion då?

En enkel funktion utan inparametrar som inte returnerar något kan se ut så här:

void min_funktion() {
if (Request.Cookies["Kakan"] != null)
//Kakan finns
else
//kakan finns inte
}

Sen i pageloaden så anropar du bara funktionen:

min_funktion();

Det var precis som jag trodde :) Jag kan snart titulera mig som nybörjare :D

NETworkMedlem sedan juni 20011 732 inlägg
#7

Men även om man bara ska använda funktionen 1 gång ska man ändock göra det till en funktion då?

Ja, det tycker jag. Undvik för mycket logik i pageload, försök att bygga upp din applikation kring funktioner och klasser. Det kan vara ganska mycket man vill göra i pageloaden och då får du bättre struktur om du lägger ut logiken i egna funktioner.

icaaqMedlem sedan okt. 20005 273 inlägg
#8

Jag försöker få cookies att funka men dem klagar bara på att den inte hittar "typen eller namespacen"....vad ska jag ha för namespace för att använda cookies.
Jag har försökt med

[red]
protected System.Web.HttpCookie myCookie;
Och
protected System.Web.HttpCookieCollection myCookie;
[/red]

men det funkar inte..... hjälp :)
Resten av koden ser ut så här:

[red]
		private void Button1_Click(object sender, System.EventArgs e)
		{
			httpCookie myCookie = new HttpCookie("icaaq");
			myCookie.Values.Add("strUser", "TextBox1.Text");
			myCookie.Expires = new System.DateTime(2002,12,31);
			Response.AppendCookie(myCookie);
		}[/red]
icaaqMedlem sedan okt. 20005 273 inlägg
#9

en till fråga....
Finns det nått som motsvarar

[red]
DateAdd("D", 365, Date())
[/red]

i C#

Jag bombar er med frågor nu :e

icaaqMedlem sedan okt. 20005 273 inlägg
#10

Jag har fått det delvis att funka, men det är så att jag får fel värde i kakan. Så här ser det ut nu:

[red]
private void Button1_Click(object sender, System.EventArgs e)
		{
			HttpCookieCollection myHttpCookieCollection = new HttpCookieCollection();
			HttpCookie myCookie = new HttpCookie("icaaq");
			myCookie.Values.Add("strUser", TextBox1.Text);
			myCookie.Expires = new System.DateTime(2002,12,31);
			Response.AppendCookie(myCookie);
			Response.Redirect ("http://localhost/WebApplication1/WebForm1.aspx");
		}
[/red]

Nu blir kakan strUser = TextBox.Text, och jag vill ju att det ska bli det man skriver i Textbox1.

Tacksam för snabbt svar :)

icaaqMedlem sedan okt. 20005 273 inlägg
#11

icaaq skrev:

en till fråga....
Finns det nått som motsvarar

[red]
DateAdd("D", 365, Date())
[/red]

i C#

Jag bombar er med frågor nu :e

Jag hittade det själv

[red]
DateTime myTimeTommorow = DateTime.Now.AddDays(1);
[/red]
icaaqMedlem sedan okt. 20005 273 inlägg
#12

Jag fortsätter med denna tråd....(det känns som jag pratar med mig själv) :)

Men här kommer nästa fråga: Hur uppdaterar jag en existerande cookie :q

mvh icaaq

NETworkMedlem sedan juni 20011 732 inlägg
#13

Du gör på samma sätt som när du sätter värdet första gången:

myCookie.Values.Add("strUser", "ny text");

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)