Ich habe ein Problem mit ASP.NET Cookies zwischen Anfragen verloren gehen.ASPX Plätzchen verloren
Ich habe eine ASCX Steuerung, die mehrere Filterungs Ankreuzfelder aufweist. Ich kann diese Kontrollkästchen aktivieren/deaktivieren und klicke dann auf. In dieser Methode applyFilters setze ich Cookies basierend darauf, ob die Kontrollkästchen aktiviert/deaktiviert sind. Der Code, der dies tut, ist:
public void setFilterCookie(string name, string val)
{
if (!String.IsNullOrEmpty(val) && (val != null && !val.Equals("-1")))
{
if (request.Cookies[name] != null)
{
HttpCookie myCookie = new HttpCookie(name);
myCookie.Expires = DateTime.Now.AddDays(-2d);
response.Cookies.Add(myCookie);
request.Cookies.Remove(name);
}
HttpCookie cookie = new HttpCookie(name, val);
cookie.Expires = DateTime.Now.AddDays(5);
response.Cookies.Add(cookie);
}
else
{
if (request.Cookies[name] != null)
{
HttpCookie myCookie = new HttpCookie(name);
myCookie.Expires = DateTime.Now.AddDays(-2d);
response.Cookies.Add(myCookie);
request.Cookies.Remove(name);
}
}
}
Nachdem die Cookies gesetzt werden, ich ein Raster aus dem übergeordneten Container der Steuerung Databind will. In diesem databind Verfahren lese ich die Cookies der folgenden Methode:
public string getCookie(string cookieName)
{
if (isNotNullOrEmpty(cookieName))
return request.Cookies[cookieName].Value.ToString().Trim();
else
return null;
}
Das Problem ist, dass, wenn ich die Cookies setze ich die Werte gesetzt werden (zB Response.Cookies [ „Domain“] sehen = "5"), aber wenn ich sie lese, ist der Wert string leer.
Kann mir jemand sagen, was falsch ist?
Danke
arbeiten Dies gilt nicht. Ich verliere immer noch die Cookie-Werte –