A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunrise2 高级黑马   /  2014-7-16 12:51  /  710 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在客户端创建一个username的cookies,其值为gjy,有效期为1天.
方法1:
Response.Cookies["username"].Value="zxf";
Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);

方法2:
System.Web.HttpCookie newcookie=new HttpCookie("username");
newcookie.Value="gjy";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);


创建带有子键的cookies:
System.Web.HttpCookie newcookie=new HttpCookie("user");
newcookie.Values["username"]="zxf";
newcookie.Values["password"]="111";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);
  1. cookies的读取:

  2. 无子键读取:
  3. if(Request.Cookies["username"]!=null)
  4. {
  5. Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
  6. }

  7. 有子键读取:
  8. if(Request.Cookies["user"]!=null)
  9. {
  10. Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
  11. Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));

  12. using System;
  13. using System.Data;
  14. using System.Configuration;
  15. using System.Web;
  16. using System.Web.Security;
  17. using System.Web.UI;
  18. using System.Web.UI.WebControls;
  19. using System.Web.UI.WebControls.WebParts;
  20. using System.Web.UI.HtmlControls;


  21. public class Cookie
  22. {
  23. /// <summary>
  24. /// Cookies赋值
  25. /// </summary>
  26. /// <param name="strName">主键</param>
  27. /// <param name="strValue">键值</param>
  28. /// <param name="strDay">有效天数</param>
  29. /// <returns></returns>
  30. public bool setCookie(string strName, string strValue, int strDay)
  31. {
  32. try
  33. {
  34. HttpCookie Cookie = new HttpCookie(strName);
  35. //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
  36. Cookie.Expires = DateTime.Now.AddDays(strDay);
  37. Cookie.Value = strValue;
  38. System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
  39. return true;
  40. }
  41. catch
  42. {
  43. return false;
  44. }
  45. }
复制代码
  1.   /// <summary>
  2. /// 读取Cookies
  3. /// </summary>
  4. /// <param name="strName">主键</param>
  5. /// <returns></returns>

  6. public string getCookie(string strName)
  7. {
  8. HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
  9. if (Cookie != null)
  10. {
  11. return Cookie.Value.ToString();
  12. }
  13. else
  14. {
  15. return null;
  16. }
  17. }

  18.     /// <summary>
  19. /// 删除Cookies
  20. /// </summary>
  21. /// <param name="strName">主键</param>
  22. /// <returns></returns>
  23. public bool delCookie(string strName)
  24. {
  25. try
  26. {
  27. HttpCookie Cookie = new HttpCookie(strName);
  28. //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
  29. Cookie.Expires = DateTime.Now.AddDays(-1);
  30. System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
  31. return true;
  32. }
  33. catch
  34. {
  35. return false;
  36. }
  37. }
  38. }


  39. 示例:
  40. Cookie Cookie = new Cookie();
  41. Cookie.setCookie("name", "aaa",1);//赋值
  42. Cookie.getCookie("name");//取值
  43. Cookie.delCookie("name");//删除
  44. 注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可


  45. 另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效

  46. using System;
  47. using System.Data;
  48. using System.Configuration;
  49. using System.Web;
  50. using System.Web.Security;
  51. using System.Web.UI;
  52. using System.Web.UI.WebControls;
  53. using System.Web.UI.WebControls.WebParts;
  54. using System.Web.UI.HtmlControls;


  55. public class Cookie
  56. {
  57. /// <summary>
  58. /// Cookies赋值
  59. /// </summary>
  60. /// <param name="strName">主键</param>
  61. /// <param name="strValue">键值</param>
  62. /// <param name="strDay">有效天数</param>
  63. /// <returns></returns>
  64. public bool setCookie(string strName, string strValue, int strDay)
  65. {
  66. try
  67. {
  68. HttpCookie Cookie = new HttpCookie(strName);
  69. //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
  70. Cookie.Expires = DateTime.Now.AddDays(strDay);
  71. Cookie.Value = strValue;
  72. System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
  73. return true;
  74. }
  75. catch
  76. {
  77. return false;
  78. }
  79. }

  80.     /// <summary>
  81. /// 读取Cookies
  82. /// </summary>
  83. /// <param name="strName">主键</param>
  84. /// <returns></returns>

  85. public string getCookie(string strName)
  86. {
  87. HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
  88. if (Cookie != null)
  89. {
  90. return Cookie.Value.ToString();
  91. }
  92. else
  93. {
  94. return null;
  95. }
  96. }

  97.     /// <summary>
  98. /// 删除Cookies
  99. /// </summary>
  100. /// <param name="strName">主键</param>
  101. /// <returns></returns>
  102. public bool delCookie(string strName)
  103. {
  104. try
  105. {
  106. HttpCookie Cookie = new HttpCookie(strName);
  107. //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
  108. Cookie.Expires = DateTime.Now.AddDays(-1);
  109. System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
  110. return true;
  111. }
  112. catch
  113. {
  114. return false;
  115. }
  116. }
  117. }
复制代码
示例:Cookie Cookie = new Cookie();Cookie.setCookie("name", "aaa",1);//赋值Cookie.getCookie("name");//取值Cookie.delCookie("name");//删除注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可

另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马