hallo zusammen,
ich habe für meinen Übungs-WebShop ein paar asp.net - seiten erstellt.
ich möchte wenn ein user auf meine start seite gelangt, dass er dann ein cookie mit einer einmaligen ID bekommt. akzeptiert er das cookie nicht soll ihm eine eindeutige nummer (SessionID) zugewiesen werden.
da ich da noch keine erfahrung darin habe bin ich dankbar für jede hilfe.
bitte wie immer so einfach wie möglich.
köönt ihr mir ein paar tips geben wie z.b. ganz simpel und grundlegend ein cookie und ne session id geschrieben wird.
vielen dank,
mfg
Das Schicksal bevorzugt jene die bereit sind.
Hallo
köönt ihr mir ein paar tips geben wie z.b. ganz simpel und grundlegend ein cookie und ne session id geschrieben wird.
Gehört zwar zu den Grundlagen aber hier :
Cookies :
public bool SetCookie(string cookiename, string cookievalue ,int iDaysToExpire)
{
try{
HttpCookie objCookie = new HttpCookie(cookiename);
Response.Cookies.Clear();
Response.Cookies.Add(objCookie);
objCookie.Values.Add(cookiename,cookievalue);
DateTime dtExpiry = DateTime.Now.AddDays(iDaysToExpire);
Response.Cookies[cookiename].Expires =dtExpiry;
}
catch( Exception e){
return false;
}
return true;
}
public string GetCookie(string cookiename){
string cookyval="";
try{
cookyval= Request.Cookies[cookiename].Value;
}
catch(Exception e){
cookyval="";
}
return cookyval;
}
Session
Set:
Session["Product1"] = "Hallo mein Produkt";
Get:
string result = Session["Produkt1"]
Beste Grüsse
Diräkt
Ah ja, vielen dank.
konnte ich gut gebrauchen.
zum nächsten problem...
wenn ein user auf meine startseite gelangt möchte ich prüfen ob dieser user schon ein Cookie von mir besitzt. ich möchte das am liebsten mit ner if-schleife lösen.
nur wie wird das geschrieben???
mein Versuch:
wie das in den Klammern der if-schleife aussehen soll, weiß ich nicht.
if (Cookie["BesucherCookie"] == null)
{
Guid EindeutigeID = Guid.NewGuid(); //Erstellen einer eindeutigen Guid
Response.Cookies["BesucherCookie"].Value = EindeutigeID.ToString(); //Erstellen des Cookies
}
Das Ganze befindet sich im Page_Load
mfg
Das Schicksal bevorzugt jene die bereit sind.
Hallo
Hast du meine Get Methode wirklich angesehen ?
Du kannst folgendes verwenden :
if(!Page.IsPostback && !string.IsNullOrEmpty(GetCookie(BesucherCookie))
{
//Generate ID bla
}
Achtung, ich habe gerade kein VS zur Hand, betreff schreibfehler...
Beste Grüsse
Diräkt
Danke. habs natürlich gelesen, bin nur nicht mit get und set so gut vertraut.
hab deine if- anweisung mal versucht. nur verstehe ich nicht wirklich was das heist??
hab da 2 fehler. ich hänge da echt fest...
Das Schicksal bevorzugt jene die bereit sind.
einen "Fehler" gefunden, ein großes "B" bei .IsPostBack.
Das Schicksal bevorzugt jene die bereit sind.
hab das ganze jetzt mal etwas anders geschrieben und denke dass es so auch funktioniert.
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Guid EindeutigeID = Guid.NewGuid(); //Erstellen einer eindeutigen Guid
if (!Page.IsPostBack)
{
if (Request.Cookies ["BesucherCookie"] == null) //Kein Cookie vorhanden
{
Response.Cookies["BesucherCookie"].Value = EindeutigeID.ToString(); //Erstellen des Cookies
Label1.Text = EindeutigeID.ToString() + " Hat ein neues Cookie";
}
else //Cookie vorhanden
{
//Inhalt von Cookie in Session schreiben
Label2.Text = Request.Cookies["BesucherCookie"].Value + " Hat ein altes Cookie";
}
if (Session["BesucherID"] == null) //Keine Session vorhanden
{
Session["BesucherID"] = EindeutigeID.ToString(); //Session erstllen
Label3.Text = Session["BesucherID"].ToString() + " hat eine neu Sassion";
}
else
Label3.Text = Session["BesucherID"].ToString() + " hat eine alte Sassion";
}
}
}
Das Schicksal bevorzugt jene die bereit sind.
Hallo,
Du könntest Dir mal das sessionState-Element in der web.config
anschauen.
Da gibt es das cookieless
-Attribut mit verschiedenen Einstellungen, z.B. AutoDetect oder UseDeviceProfile.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca