首页 新闻 会员 周边 捐助

关于cookie里面有多个项,如何按照既定条件修改cookie的值

0
悬赏园豆:5 [已关闭问题] 关闭于 2015-02-26 15:29

Company=店铺2&Company=店铺2&ProductID=7&ProductID=11&ProductName=商品1-7&ProductName=商品1-11&SaleUserID=75&SaleUserID=75&ProductImg=&ProductImg=&Price=5.00&Price=5.00&Bonus=1&Bonus=1&Count=1&Count=1

 

以上是最终取出来的cookie的值,我现在想根据ProductID=11来修改第二个Count的值为2,

cookie如何操作?

以便以谢的主页 以便以谢 | 初学一级 | 园豆:119
提问于:2014-03-12 11:49
< >
分享
所有回答(2)
0

cookies里面的东西改成JSON字符串,然后base64一下(简单,好看)。

 

仰望繁星的猪 | 园豆:519 (小虾三级) | 2014-03-12 13:25

json不会

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-12 13:27

@以便以谢: using Newtonsoft.Json;

比如:购物车的数据是List<shopcar> list 这样的集合,JsonConvert.SerializeObject(list) 转化为字符串,写入到cookies里面。读取的时候可以JsonConvert.SerializeObject("cookies里面的字符串",typeof(List<shopcar>)) 转化为集合。

支持(0) 反对(0) 仰望繁星的猪 | 园豆:519 (小虾三级) | 2014-03-12 13:33

@仰望繁星的猪: 我的就是一个HttpCookie对象

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-12 13:36
0

弟啊,这数据格式混乱,处理这逻辑的代码有点混乱。建议重新写一个。

至于修改,楼上的功能可取。对象--》json>>url编码后的字符串》》存入cookie

[秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:23

没办法。存进去的就是这样的。。

存进去的代码是:

        /// <summary>
        /// 将选择的菜品情况加载到我的餐饮盒
        /// </summary>
        protected void SetFoodList()
        {
            string ProInfos = hidProInfo.Value.Substring(0, hidProInfo.Value.Length - 1);
            string[] arrProInfos = ProInfos.Split(',');
            HttpCookie cookieFood = new HttpCookie("MyShoppingCart");

            foreach (string strProInfo in arrProInfos)
            {
                string strProID = strProInfo.Split('|')[0];
                string strProCount = strProInfo.Split('|')[1];

                ProModel = GetProModel(strProID);
                ImagesModel = GetProImageModel(strProID);

                //DateTime dt = DateTime.Now;
                //TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0);//过期时间为1分钟
                //cookie.Expires = dt.Add(ts);//设置过期时间
                cookieFood.Values.Add("Company", ComModel.Company);
                cookieFood.Values.Add("ProductID", strProID);
                cookieFood.Values.Add("ProductName", ProModel.ProductName);
                cookieFood.Values.Add("SaleUserID", SaleUserID.ToString());
                cookieFood.Values.Add("ProductImg", ImagesModel.ImageUrl);
                cookieFood.Values.Add("Price", ProModel.Price.Value.ToString("f2"));
                cookieFood.Values.Add("Bonus", "1");
                cookieFood.Values.Add("Count", strProCount);

                Response.Cookies.Add(cookieFood);
            }
        }

比如我加了2个商品存进去取出来Value的值就是:

“Company=店铺2&Company=店铺2&ProductID=7&ProductID=11& ProductName=商品1-7&ProductName=商品1-11&SaleUserID=75& SaleUserID=75&ProductImg=&ProductImg=&Price=5.00&Price=5.00&Bonus=1&Bonus=1&Count=1&Count=1”

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:26

@以便以谢: 弟兄啊,在编码上如果求节约时间这是没有智慧的手段。

1.老板不会因此感恩于你且多出来的时间也会被老板利用。

2.不想一个优秀的思路就动手这不明智。

3.做开发不写好算法和优化自己的思路很难提高。

支持(1) 反对(0) [秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:31

@秦时明月-Moon.Orm塑造Orm经典: 你是说我不应该问?要自己想办法?

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:32

@以便以谢: 不是你不会做,而是你想让别人替你做的话,又何必等别人呢?

支持(0) 反对(0) [秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:33

@秦时明月-Moon.Orm塑造Orm经典: 答非所问。。。

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:34

@秦时明月-Moon.Orm塑造Orm经典: 弟兄是基督徒吗?在哪聚会?

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:34

@秦时明月-Moon.Orm塑造Orm经典: 我倒不是问题摆出来就算了,我自己还在思考解决办法的。。。

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:36

@以便以谢: 都叫你弟兄了。

支持(0) 反对(0) [秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:36

@秦时明月-Moon.Orm塑造Orm经典: 以马内利

支持(0) 反对(0) [秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:38

@秦时明月-Moon.Orm塑造Orm经典: 阿们!我在杭州一个毕业生团契里聚会。。http://user.qzone.qq.com/272810701/main。:)

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 09:41

@以便以谢: 还以为你也在北京

支持(0) 反对(0) [秦时明月] | 园豆:738 (小虾三级) | 2014-03-13 09:42

@秦时明月-Moon.Orm塑造Orm经典: 我是因为想破脑袋瓜也没想出来所以才会问的,这个问题解决倒是解决了,不过是采用另外一种比较笨的方法。。。有的时候问问题大家一起探讨也是一种成长。。

支持(0) 反对(0) 以便以谢 | 园豆:119 (初学一级) | 2014-03-13 10:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册