再次询问关于COOKIES的问题!
以下代码遇到两个问题.
1.如果添加数据后,再次执行btnRemove_Click事件,为什么函数中获得数据后居然是不被删除的.而是再次点击btnView_Click才能获取正确的被删除的结果?
2.在执行添加后再次执行删除.此时获取结果是正确的,然而此时我又执行了添加再获得结果会发现数据居然没有被添加?
是不是被删除的数据键被记录下来就不允许此键再次添加还是什么意思?
public partial class _Default : System.Web.UI.Page
{
protected void btnView_Click(object sender, EventArgs e)
{
// 获得结果
GetResult();
}
protected void btnAdd_Click(object sender, EventArgs e)
{
// 添加一条数据
for (int i = 0; i < 5; i++)
{
HttpCookie cookie = Request.Cookies["MyCookie"];
if (cookie == null) cookie = new HttpCookie("MyCookie");
cookie.Values.Add(i.ToString(), i.ToString());
Response.Cookies.Set(cookie);
}
GetResult();
}
protected void btnRemove_Click(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["MyCookie"];
cookie.Values.Remove("1");
cookie.Values.Remove("3");
Response.SetCookie(cookie);
GetResult();
}
protected void GetResult()
{
// 将所有数据显示在页面上
foreach (string str in Request.Cookies["MyCookie"].Values)
{
Response.Write(str + ",");
}
}
}