在C#中给Cookies的Value逗号的话,就会报错,然后在msdn上找到问题的答案,不允许使用逗号。http://msdn.microsoft.com/zh-cn/library/kesbe27x(VS.95).aspxC# 
public Cookie(
    string name,
    string value
)
参数
name
类型:System.String
Cookie 的名称。name 参数不能包含下列字符:等号 (=)、分号 (;)、逗号 (,)、换行符 (\n)、回车符 (\r)、制表符 (\t) 和空格字符。美元符号 ($) 不能作为第一个字符。
value
类型:System.String
Cookie 的值。value 参数不能包含分号 (;) 或逗号 (,),除非它们包含在转义的双引号中。
  异常 
异常 条件
CookieException
name 为 null 引用(在 Visual Basic 中为 Nothing) 或空字符串 ("")。- 或 -name 包含未经授权的字符。使用以下字符之一将会导致异常:等号 (=)分号 (;)逗号 (,)换行符 (\n)回车符 (\r)制表符 (\t)空格字符美元符号 ($) 作为第一个字符- 或 -value 为 null 引用(在 Visual Basic 中为 Nothing),或者包含分号 (;) 或逗号 (,),而它们不包含在转义的双引号中。  备注 逗号字符保留用作同一行上各个 Cookie 之间的分隔符。下面的示例演示如何在 value 中使用逗号。System.Net.Cookie cookie = new System.Net.Cookie("cookieID", "\"123,456\"");但是这个是可以了,那我真正的Value值里面就有一个逗号,而没有被双引号包围的怎么办?System.Net.Cookie cookie = new System.Net.Cookie("cookieID", ",\"123,456\"");这个就报错,怎么办?  大家有什么办法?是不是要编码?  什么编码? Base64? 还是怎么办?

解决方案 »

  1.   

       如果一个cookie对象里面就放一个值    则就可以直接的添加            添加:           HttpCookie VisitTime = new HttpCookie("TimeSelf");
                Response.Cookies.Add(VisitTime);            获取:           Response.Write(Request.Cookies["TimeSelf"].Value)
            如果一个cookie对象里面放多个值          添加:         HttpCookie LaoNiu= new HttpCookie("People");
               LaoNiu.Values["name"] = "老牛";
              LaoNiu.Values["age"] = "23";
              Response.Cookies.Add(LaoNiu);         获取:        HttpCookie LaoNiu02= Request.Cookies["People"];
              Response.Write(LaoNiu02.Values["name"]);
              Response.Write(LaoNiu02.Values["age"]);
    以上两种cookic都是即时的,也就是说当你关闭浏览器时候它就失效你也可以通过Expires设置失效日期或时间LaoNiu.Expires=System.DateTime.Now.AddMinutes(要设置的整形数据---分钟)
      

  2.   

    System.Web.HttpContext.Current.Response.Cookies.Add(new   HttpCookie("a","1,2,"));
      

  3.   


    那我怎么把HttpCookie 放到CookieContainer中呢?
      

  4.   


    有什么问题啊,这个是MSDN上面的,可以通过~
      

  5.   

    这样写不知道行不:        
    CookieCollection cookie = new CookieCollection();
            HttpCookie cookiea = new HttpCookie("name", "value");
            cookie.Add(cookie);        CookieContainer cookie1 = new CookieContainer();
            cookie1.Add(cookie);
    不对的地方还请包涵。
      

  6.   


    谢谢你啊,这个不对,CookieCollection这个的Add 里面也是要的是Cookie  不要HttpCookie。谢谢,还有什么别的方法吗?
      

  7.   

    可以将要写入的Cookie的Value值中的逗号使用%2C代替。