搜索,并且缓存搜索历史记录

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>

时间: 2024-10-12 20:11:08

搜索,并且缓存搜索历史记录的相关文章

微信小程序开发之带搜索记录的搜索框

实现功能:点击搜索框,有搜索记录时以下拉菜单显示,点击下拉子菜单,将数据赋值到搜索框,点击搜索图标搜索,支持清空历史记录,可手动输入和清空查询关键字, UI: wxml: <!--查询历史记录数据--><view class="ddclass" style="margin-left: 50rpx;z-index:80" hidden="{{!StorageFlag}}" style="z-index:100"

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到输入的搜索词设置一个数组里存放搜素词,判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在数组最前面如果不存在直接将新词放在数组最前面即可,然后循环数组显示结果即可 热门搜索实现原理,当用户搜索一个词时,可以保存到数据库,然后记录搜索次数,利用redis缓存搜索次数最到的词,过一段时间更新

07.everything的搜索历史按照搜索时间排序

需求:everything的搜索历史按照搜索时间排序;(现在是按搜索次数排序的) "Sun Jun 23, 2013 8:14 am"的时候作者就说: Sorting search history by last search date in Everything is on my Things to do list. 但是看了更新日志,翻了菜单,并没有找到相关设置; www.voidtools.com ? View topic - When does Everything saves

excel vba 实现跨表单(sheet) 搜索 - 显示搜索行记录搜索历史

前两天,一个朋友问我,有没有办法在excel里实现一个表单里是原始数据,在另一个表单里显示搜索到的行,搜索关键词可用~分隔开,并把搜索历史记录下来? 我想了想,用vba实现肯定可以啊,但是我又在想,有没有可能excel自身的功能就可以实现了呢,但是后来没有发现excel自带这种功能.于是思考自己用vba给实现吧. 于是我打开我的电脑,结果发现我的office版本是wps,根本就没有vba功能,网上说的使用vba模块安装,但是始终没有安装成功.最后放弃了,自己下载一个office2013, 自带v

五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到输入的搜索词设置一个数组里存放搜素词,判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在数组最前面如果不存在直接将新词放在数组最前面即可,然后循环数组显示结果即可 热门搜索实现原理,当用户搜索一个词时,可以保存到数据库,然后记录搜索次数,利用redis缓存搜索次数最到的词,过一段时间更新

图算法系列-深度优先搜索与广度优先搜索

2.深度优先搜索 为了访问一个顶点,我们将它标记为已经访问过,然后递归的访问所有与子邻接的并且尚未标记的顶点,这就是深度优先搜索(DFS),DFS常用于解决路径问题. 比如下面的连通图,我们从顶点0开始对图进行探索 下面这个图显示了DFS处理时的递归调用树. DFS可以解决的问题:1)环检测:一个图中有环吗?该图是森林吗?2)简单路径:给定两个顶点,是否存在一条连接他们的路径3)简单连通性:无论何时使用DFS,都可以在线性时间内确定一个图是否连通4)顶点搜索:在给定顶点所在的同一个连通分量中有多

创建一个提供搜索功能的搜索类(可运行)

/* * 这段代码的主要功能是对于创建索引的后的文件, * 创建一个提供搜索功能的搜索类. * */ package ch2.lucenedemo.process; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Date; import java.util.Iterator; import jav

【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

摘要: 地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.如果说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血.有个各种各样的地图服务,我们的地图应用才能变得有血有肉,活灵活现. 第四篇拆成了几个要点,本篇主要讲搜索服务.包括周边搜索,关键词搜索,范围搜索,搜索提示(自动完成,输入提示),行政区域,交叉路口,检索自有数据(云图). demo:http://zhaoziang.com/amap/zero_4_1.ht

图的遍历之 深度优先搜索和广度优先搜索

本章会先对图的深度优先搜索和广度优先搜索进行介绍,然后再给出C/C++/Java的实现. 目录 1. 深度优先搜索的图文介绍 1.1 深度优先搜索介绍 1.2 深度优先搜索图解 2. 广度优先搜索的图文介绍 2.1 广度优先搜索介绍 2.2 广度优先搜索图解 3. 搜索算法的源码 深度优先搜索的图文介绍 1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search),和树的先序遍历比较类似. 它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然

实现搜索字符与搜索内容突出显示

1.创建可显示的字符集. @property (nonatomic, copy) NSString *filter; @property (nonatomic, strong) NSAttributedString *merchantShopNameRich; 2.获取到具体的搜索字符. - (NSAttributedString *)merchantShopNameRich {        if (!_merchantShopNameRich) {                _merch