我的cookie为什么老是有问题?我做了一个临时表,然后绑定在一个datagrid上,临时表的内容是从cookie 中取出的。可是为什么一到修改datagrid的内容时就会说我的cookie未将对象引用设置到对象的实例。
我的代码在下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
    HttpCookie cookie;
if(!IsPostBack)
{
  
if(object.Equals(Request.Cookies["mosen"],null))
{
    cookie=new HttpCookie("mosen");
cookie.Values.Add("1","mosen");
cookie.Values.Add("2","lsr");
TimeSpan ts=new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now+ts;
Response.AppendCookie(cookie);
databind();
}
else

                        databind();
}
} private void databind()
{   
if(!object.Equals(Request.Cookies["mosen"],null))
    {
label1.Text="asdfsd";

}
string aa="";
HttpCookie cookie=Request.Cookies["mosen"];
DataTable ta=new DataTable();
DataRow tr;
    ta.Columns.Add(new DataColumn("id",aa.GetType()));
ta.Columns.Add(new DataColumn("nick",aa.GetType()));
for(int i=0;i<cookie.Values.Count;i++)
{
tr=ta.NewRow();
tr[0]=cookie.Values.AllKeys[i].ToString();
// tr[0]="asdf";
tr[1]=cookie.Values[i].ToString();
ta.Rows.Add(tr);
}
            mygrid.DataSource=ta.DefaultView;
mygrid.DataBind();

} private void mygrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
mygrid.EditItemIndex=e.Item.ItemIndex;
databind();
} private void mygrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   // string id;
string name;
HttpCookie cookie=new HttpCookie("mosen");
name=((TextBox)e.Item.Cells[1].Controls[0]).ToString();
for(int i=0;i<mygrid.Items.Count;i++)

                string id;
string name1;
id=mygrid.Items[i].Cells[0].Text;
if(e.Item.ItemIndex==i)
{
name1=name;
}
else
{
name1=mygrid.Items[i].Cells[1].Text;
}
cookie.Values.Add(id,name1); }
TimeSpan ts=new TimeSpan(0,0,10,0);
cookie.Expires=DateTime.Now+ts;
Response.AppendCookie(cookie);
mygrid.EditItemIndex=-1;
Response.Redirect("index.aspx");
}
}
当我改datagrid时就会报出未将对象引用设置到对象的实例。tr[0]=cookie.Values.AllKeys[i].ToString();
为什么?