Nästa fråga :) Hur kollar jag om det finns en cookie?
kakor
12 svar · 305 visningar · startad av icaaq
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
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 ??
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();
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
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.
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]
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 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 :)
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]
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
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");