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>
  • 相关阅读:
    vue-cli+typescript 搭建
    es6基础知识
    上机作业六 磁盘管理综合测试2019 7 31
    上机作业五 磁盘配额 2019 7 2
    上机作业四 磁盘管理 2019 7 31
    上机作业三 账号管理2019 7 31
    上机作业 2 2019/7/26
    Linux系统管理06--磁盘管理
    Linux系统管理05--权限及归属管理
    chapter06-07磁盘管理
  • 原文地址:https://www.cnblogs.com/superMay/p/5865229.html
Copyright © 2011-2022 走看看