在学习过程中需要用到Cookie文件,在网上找了些相关的知识,学习了一部分,现记录如下:
(1)
HttpCookie myHttpCookie = new HttpCookie("MyWebSite");
DateTime myDateTime = System.DateTime.Now;
TimeSpan myTimeSpan = new TimeSpan();
if (rbHour.Checked == true)
{
myTimeSpan = new TimeSpan(0, 1, 0, 0, 0);
myTime = 0;
}
if (rbDay.Checked == true)
{
myTimeSpan = new TimeSpan(1, 0, 0, 0, 0);
myTime = 1;
}
myHttpCookie.Expires = myDateTime.Add(myTimeSpan);
myHttpCookie.Values.Add("UserName", Server.HtmlEncode(txtUserName.Text.Trim().ToString()));
myHttpCookie.Values.Add("Sex", Server.HtmlEncode(mySex));
myHttpCookie.Values.Add("SelectTime", Server.HtmlEncode(myTime.ToString()));
Response.AppendCookie(myHttpCookie);
这段代码的作用是创建一个名为MyWebSite的Cookie文件,里面有三项,分别是UserName(用户名)、Sex(性别)和SelectTime(Cookie的过期时间)。
(2)
if (Request.Cookies["MyWebSite"] != null)
{
myUserName = Request.Cookies["MyWebSite"]["UserName"].ToString();
mySex = Request.Cookies["MyWebSite"]["Sex"].ToString();
myTime = Request.Cookies["MyWebSite"]["SelectTime"].ToString();
}
if (myUserName != null && mySex != null)
{
HttpCookie myHttpCookie = new HttpCookie("MyWebSite");
if (myHttpCookie != null)
{
myHttpCookie.Values["UserName"] = myUserName.ToString();
myHttpCookie.Values["Sex"] = mySex.ToString();
myHttpCookie.Values["SelectTime"] = myTime.ToString();
DateTime myDateTime=System.DateTime.Now;
if (myTime.ToString() == "0")
{
myTimeSpan = new TimeSpan(0, 1, 0, 0);
}
if (myTime.ToString() == "1")
{
myTimeSpan = new TimeSpan(1, 0, 0, 0);
}
myHttpCookie.Expires = myDateTime.Add(myTimeSpan);
Response.AppendCookie(myHttpCookie);
}
}
这段代码的作用是在操作过程中延迟Cookie的过期时间。
(3)
HttpCookie myHttpCookie = new HttpCookie("MyWebSite");
if (myHttpCookie != null)
{
DateTime myDateTime = DateTime.Now;
TimeSpan myTimeSpan = new TimeSpan(-1, 0, 0, 0, 0);
myHttpCookie.Expires = myDateTime.Add(myTimeSpan);
Response.AppendCookie(myHttpCookie);
Response.Redirect("../WebForms/Login.aspx");
}
这段代码作用是注销Cookie,通过把过期时间设为以前的时间来实现Cookie注销。
注:因为刚学ASP.NET不久,不知道该如何处理关于在操作时延迟Cookie文件的过期时间,只想到了这个笨办法,希望各位高手不吝指点,谢谢!!!