實在是想不到問題的所在了
//這個是來寫/更新cookie的某一個鍵的
public static void WriteCookies(string key, string value)
{
if (value != null)
value = HttpUtility.UrlEncode(value, Encoding.Default);
HttpCookie cookie1 = HttpContext.Current.Request.Cookies[_cookie_name];
if (cookie1 == null)
{
cookie1 = new HttpCookie(_cookie_name);
cookie1.Values.Add(key, value);
cookie1.Expires = DateTime.Now.AddYears(1);
cookie1.Domain = Function.getModule().CookieDomain;
HttpContext.Current.Response.Cookies.Add(cookie1);
return;
}
cookie1.Values[key] = value;
cookie1.Expires = DateTime.Now.AddYears(1);
cookie1.Domain = Function.getModule().CookieDomain;
HttpContext.Current.Response.Cookies.Set(cookie1);
}
//這是得到當前cookie一個鍵的值
public static string GetCookisValue(string key)
{
HttpCookie myCookie = HttpContext.Current.Request.Cookies[_cookie_name];
if (myCookie != null)
{
if (myCookie.Values[key] != null)
return HttpUtility.UrlDecode(myCookie.Values[key].ToString(),Encoding.Default);
return "";
}
return "";
}
調用該方法:
global.WriteCookies("Name", _txt_username.Text.Trim());
global.WriteCookies("Url", _homepage);
每次只更新了Url,卻沒有更新Name
跟蹤時出現的怪現象是:
跟蹤到第一個WriteCookies("Name","");時,更新正常,此時Name已被更新
跟蹤到下一個WriteCookies("Url"......);時,卻發現更新過的name鍵又還原了
這是當前頁面的cookie
AJSTAT_ok_pages
AJSTAT_ok_times
CommentUser
Name=12345
Url=http%3a%2f%2fwww.123456c78.com
ASP.NET_SessionId
Name一直改不了,URl倒是可以更新
怪在調用同一方法,為什麼只能更新第二個鍵?
請大家幫解一下