一、html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>最近浏览记录</title>
<script type="text/javascript" src="/scripts/jquery/jquery-1.10.2.min.js"></script>
<script src="/scripts/json.js" type="text/javascript"></script>
<script src="/scripts/jquery/jquery.cookie.js" type="text/javascript"></script>
<script>
(function ($) { $.history = function (e) {
var e = $.extend({
cookieName: "PrdIDCookie", //cookie名称
nid: 100, //最新访问的商品ID
N: 5 //设置cookie保存的浏览记录的条数
}, e)
var fn = {
cutstr:function(str, len, chr) {
var temp;
var icount = 0;
var patrn = /[^\x00-\xff]/;
var strre = "";
for (var i = 0; i < str.length; i++) {
if (icount < len - 1) {
temp = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount + 1
} else {
icount = icount + 2
}
strre += temp
} else {
break
}
}
return typeof(chr)=="undefined"? strre:strre + chr;
},
//记录最近浏览过的商品
record: function () {
var _historyp;
if ($.cookie(e.cookieName) == null) { //cookie 不存在
$.cookie(e.cookieName, e.nid, { expires: 7, path: '/' }); //创建新的cookie,保存浏览记录
} else { //cookies已经存在
_historyp = $.cookie(e.cookieName); //获取浏览过的商品编号ID
};
var pArray = _historyp.split(','); //分解字符串为数组
_historyp = e.nid; //最新访问的商品编号放置载最前面
var count = 0; //判断是该商品编号是否存在于最近访问的记录里面
for (var i = 0; i < pArray.length; i++) {
if (pArray[i] != e.nid) {
_historyp = _historyp + "," + pArray[i];
count++;
if (count == e.N - 1) {
break;
}
}
}
$.cookie(e.cookieName, _historyp); //修改cookie的值
},
bind: function () { //获取最近浏览过的商品
var _historyp = "";
if ($.cookie(e.cookieName) != null) { //cookie 不存在
_historyp = $.cookie(e.cookieName); //获取浏览过的商品ID
}
if (_historyp == null && _historyp == "") {
return;
} else {
var prdIDs = []; //将商品ID以列表或数据的方式保存
var pArray = _historyp.split(',');
for (var i = 0; i < pArray.length; i++) {
if (pArray[i] != "") {
//alert(pArray[i]);
prdIDs.push(pArray[i]);
}
}
//--->请求商品详细详细...
$.post('/tools/submit_ajax.ashx?action=get_history_log', { id_arr: prdIDs.toString() }, function (data) {
var data = JSON.parse(data);
var list = '';
if (data) {
for (var i = 0; i < data.length; i++) {
list += '<li><a href="/fy/show/' + data[i].id + '.html"><font style="color:#0041d9">' + fn.cutstr(data[i].title,20) + '</font>-<font style="color:#ff6600">' + data[i].price + '元/平米.天</font></a></li>';
}
}
$("#history_log").html(list);
});
}
}
}
return fn;
}
})(jQuery)
$.history({
cookieName: "PrdIDCookie",
nid: 1628,
N: 5
}).record();
$.history().bind();
</script>
</head> <body>
<ul id="history_log"></ul>
</body>
</html>

asp.net处理代码

private void get_history_log(HttpContext context)
{
string id = DTRequest.GetFormString("id_arr");
DataTable dt = new BLL.article().Getdata_List("housing", 5, "id in(" + id + ")", "sort_id asc").Tables[0];
var list = new List<object>();
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
list.Add(new { id = dr["id"], title = dr["title"], price = dr["price"] });
}
context.Response.Write(new JavaScriptSerializer().Serialize(list));
return;
}

jquery.cookie.js结合asp.net实现最近浏览记录的更多相关文章

  1. jquery.cookie.js 删除cookie

    简单交代一下背景:asp.net页面的上的切换登录按钮的点击事件实现cookie的删除. 但是好像没办法直接删除,通过网上提供的方法,可以使用jquery.cookie.js 来操作cookie的创建 ...

  2. JavaScript-Tool:jquery.cookie.js

    ylbtech-JavaScript-Tool:jquery.cookie.js 1.返回顶部 1.jquery.cookie.js /*! * jQuery Cookie Plugin v1.4.0 ...

  3. jQuery插件 -- Cookie插件jquery.cookie.js(转)

    Cookie是网站设计者放置在客户端的小文本文件.Cookie能为用户提供很多的使得,例如购物网站存储用户曾经浏览过的产品列表,或者门户网站记住用户喜欢选择浏览哪类新闻. 在用户允许的情况下,还可以存 ...

  4. jquery.cookie.js && java后台代码 操作cookie实现记住当前用户输入信息代码

    下载jquery.cookie.js地址看这里:http://pan.baidu.com/s/1gdCPaN5 //初始化页面时验证是否记住了密码 $(document).ready(function ...

  5. 【转】jquery.cookie.js的使用

    Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...

  6. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  7. Jquery.cookie.js 源码和使用方法

    jquery.cookie.js源码和使用方法 jQuery操作cookie的插件,大概的使用方法如下 $.cookie(‘the_cookie’); //读取Cookie值$.cookie(’the ...

  8. jQuery.cookie.js插件了解及使用方法

    jquery.cookie.js插件实现浏览器的cookie存储,该插件是基于jquery开发,方便cookie使用. jquerycookie.js的下载地址 http://plugins.jque ...

  9. jquery.cookie.js使用

    1.下载jquery.cookie.js 官网:http://plugins.jquery.com/cookie/ 或 http://pan.baidu.com/s/1mgynA8g 2.使用方法 $ ...

随机推荐

  1. AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI- ...

  2. wp使用上下文菜单

    功能的实现需要toolkit中的MenuItem对象,具体实现方法有两种:XAML编程实现和.CS中代码实现: 1,XAML实现: 首先,在页面的xaml中加入引用: xmlns:toolkit=&q ...

  3. Maven 构建

    最近在工作中越来越经常的用到了Maven作为项目管理和Jar包管理和构建的工具,感觉Maven的确是很好用的.而且要将Maven的功能最大发挥出来,多模块是一个很好的集成例子. 一个Maven项目包括 ...

  4. 如何调试 Android 上 HTTP(S) 流量

    http://greenrobot.me/devpost/how-to-debug-http-and-https-traffic-on-android/ 如何调试 Android 上 HTTP(S) ...

  5. C#学习笔记:预处理指令

    C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令. #region 代码折叠功能,配合#endregion使用,如下: 点击后如下: 条件预处理 条件预处理可以根据给出的条件决 ...

  6. go 用的不多的命令

    8.go doc 文档注释相关,可以搭建本地GO文档服务器,包含自己的项目注释,更多细节请参考:https://github.com/hyper-carrot/go_command_tutorial/ ...

  7. SRE学习笔记:分布式共识系统、Paxos协议

    最近阅读了<SRE Google运维解密>的第23章,有一些感触,记录一下. 日常工作中,我们经常需要一些服务分布式的运行.跨区域如跨城.跨洲部署运行分布式系统往往是容易的,但是如何保证各 ...

  8. js混淆代码还原-js反混淆:利用js进行赋值实现

    js混淆代码还原-js反混淆:利用js进行赋值实现   [不想用工具的直接看方法二] 本文地址:http://www.cnblogs.com/vnii/archive/2011/12/14/22875 ...

  9. ubuntu 终端无法启动:ImportError: cannot import name 'sysconfig' from 'distutils'

    gnome-terminal 出错 ImportError: cannot import name '_gi' 系统:ubuntu17 装了python2.7.13, 之后陆续装了python3.5. ...

  10. 【BZOJ】【4152】【AMPZZ2014】The Captain

    最短路 题解:http://zyfzyf.is-programmer.com/posts/97953.html 按x坐标排序,相邻点之间连边.满足dist(x1,x3)<=dist(x1,x2) ...