zoukankan      html  css  js  c++  java
  • 搜索,并且缓存搜索历史记录

    1、将关键字加入cookie缓存中

         

      /// <summary>
            /// 添加搜索关键字
            /// </summary>
            /// <param name="keyWord"></param>
            private void addKeyWord(string keyWord)
            {
                keyWord = keyWord.Trim();
                HttpCookie cook;
                if (Request.Cookies["keyWordList"] == null)
                {
                    cook = new HttpCookie("keyWordList");
                    cook.Expires = DateTime.Now.AddMonths(1);
                }
                else
                {
                    cook = Request.Cookies["keyWordList"];
                }
                List<string> list = getKeyWord(HttpContext);
                if (list.Contains(keyWord))
                {
                    list.RemoveAll(p => p == keyWord);
                }
                if (list.Count >= 3)
                {
                    list.RemoveAt(0);
                }
                list.Add(keyWord);
                string productList = JsonConvert.SerializeObject(list);
                cook.Value = HttpUtility.UrlEncode(productList, Encoding.UTF8);
                cook.Expires = DateTime.Now.AddDays(5);
                Response.Cookies.Add(cook);
            }

     2、获取搜索关键字

     /// <summary>
            /// 获取搜索关键字
            /// </summary>
            /// <returns></returns>
            public List<string> getKeyWord(HttpContextBase context)
            {
                HttpCookie cook = context.Request.Cookies["keyWordList"];
                List<string> result = new List<string>();
                if (cook == null)
                {
                    return result;
                }
                else
                {
                    JsonSerializer jserial = new JsonSerializer();
                    StringReader strread = new StringReader(HttpUtility.UrlDecode(cook.Value, Encoding.UTF8));
                    result = jserial.Deserialize<List<string>>(new JsonTextReader(strread));
                }
                return result;
            }

     3、在页面上渲染 调用

          

     <div class="search">
                <div class="demo-container demo">
                <div class="search1">
                   @* <img src="~/StoreWeb/Shop/images/searchInput.png" id="img" />*@
                    <input type="text" value="@(keyWordlist.Count > 0 ? keyWordlist[0] : "")" id="searchInput" class="sinput" placeholder="请输入查找内容"/>
                    <a class="sbtn" href="javascript:;" id="search" title="搜索">搜索</a>
                </div>
                </div>
                <div class="searchWork">
                    <p class="searchWorkList">
                        @{
                            foreach (var item in keyWordlist)
                            {
                                <span>@item</span>
                            }
                        }
                    </p>
                </div>
            </div>
  • 相关阅读:
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    18软工实践-团队现场编程实战(抽奖系统)
    Alpha 冲刺 (4/10)
    BETA(4)
    BETA(3)
  • 原文地址:https://www.cnblogs.com/superMay/p/5865229.html
Copyright © 2011-2022 走看看