我到底是在那个创建COOKIE的类中添加过期时间,还是在登陆页面对应的那个cs文件里面设置;当我在创建cookie的那个类中设置cookie的过期时间为一个月后,我登陆,然后另开一个窗口访问之前用该用户已经登陆进来的页面的时候,老是报getcookie("键值")获得不到,没有将对象引用到实例,因为这个值是在登陆页面中的登陆按钮事件里面写的,这是第一个问题?
然后我改吧那个设置过期时间的那个代码放到登陆页面对应的cs页面中的时候,一运行那个登陆页面,就报没有将对象引用到实例的错误,这个是第二个问题?
第三,希望有人能够告诉我,像我这样的情况该么样设置cookie的过期时间?
对了,最好是选中登陆页面中的是否记住我复选框后就设置,否则就不设置!(我之前是在那个创建cookie类中写了一个方法专门用来设置cookie的过期时间,然后在登陆页面的复选框的选中事件中调用那个类中的那个方法的,但是还是报没有将对象引用到实例的错误)
最后只希望哪个大哥能够帮我解决这个问题
这个是那个创建cookie的类文件 public class MakeCookies
    {
        private string sTmpCookies = "";
        private string sTmpKey = "";
        private string mValue = "";
        private HttpCookie cookie ;
        public MakeCookies()
        {
        }
        //创建Cookies
        public void setCookies(string mKey, string mValue)
        {
            mValue = System.Web.HttpUtility.UrlEncode(mValue);            if (sTmpCookies != "")
            {
                sTmpCookies += "," + mValue;
            }
            else
            {
                sTmpCookies += mValue;
            }            if (sTmpKey != "")
            {
                sTmpKey += "," + mKey;
            }
            else
            {
                sTmpKey += mKey;
            }        }        //读取Cookies 
        public string getCookies(string  mKey)
        {            mValue = System.Web.HttpUtility.UrlDecode(System.Web.HttpContext.Current.Request.Cookies[mKey].Value);
                return mValue;
          
        }        public string UpdateCookies()
        {
            try
            {
                string[] aTmpKey = sTmpKey.Split(',');
                string[] aTmpCookies = sTmpCookies.Split(',');                for (int i = 0; i < aTmpCookies.Length; i++)
                {
                    cookie = new HttpCookie(aTmpKey[i]);
                    cookie.Value = aTmpCookies[i];
                    System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
                }
                return "Update success!";
            }
            catch (Exception ex)
            {
                return "UpdateCookies:" + ex.Source + ex.Message;
            }
        }
    }接下来是登陆页面的cs文件    InsertUsers ci = new InsertUsers();
    MakeCookies cookies = new MakeCookies();
    DataSet ds = null;
    protected void Page_Load(object sender, EventArgs e)
    {
        this.TextBox1.Focus();
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
      string username = this.TextBox1.Text;
      string userpwd = this.TextBox2.Text;
      int index = username.IndexOf('@');
      if (index < 0)//没有找到
      {
          if (ci.userlogin(username, userpwd) > 0)
          {
              cookies.setCookies("user_name", username);
              cookies.UpdateCookies();
              Response.Redirect("登陆成功页面地址!");
          }
          else
          {
              Response.Write("<script language = 'JavaScript'>alert('请检查密码是否输入错误,或者请注册重新登陆!')</script>");
              this.TextBox2.Focus();
              this.TextBox2.Text = "";
          }
      }
      else//找到了,说明该用户输入的是邮箱地址
      {
          //if (ci.userloginemail(username, userpwd) > 0)
          //{
          //    cookies.setCookies("user_name", username);
          //    cookies.UpdateCookies();
          //    Response.Redirect("登陆成功页面地址!");
          //}
          //else
          //{
          //    Response.Write("<script language = 'JavaScript'>alert('请检查密码是否输入错误,或者请注册重新登陆!')</script>");
          //    this.TextBox2.Focus();
          //    this.TextBox2.Text = "";
          //}
          //根据邮箱来查出该邮箱对应的用户名,返回一个dataset
          ds = ci.userloginemail(username);
          //从dataset中获得该邮箱对应的用户名
          if (ds != null)
          {
              string newname = ds.Tables["UserInfo"].Rows[0]["UserName"].ToString();
              cookies.setCookies("user_name", newname);
              cookies.UpdateCookies();
              Response.Redirect("登陆成功页面地址!");
          }
          else
          {
              Response.Write("<script language = 'JavaScript'>alert('请检查密码是否输入错误,或者请注册重新登陆!')</script>");
              this.TextBox2.Focus();
              this.TextBox2.Text = "";
          }
      }
    }