网奇iwms插件之“我浏览过的文章”
最近用网奇iwms系统做网站,考虑到浏览者的方便,做了一个“我浏览过的文章”的插件,演示地址:四川艺考网 http://***,具体过程如下:
1.在VS中打开网站,指向路径:D:\wwwroot\scykw.cn,此路径下有iwms的系统。
2.新建项目:IWMS_Plugin,新建类TopicInfo,用于浏览历史的类,编写如下代码:
[Serializable]
public class TopicInfo
{
public TopicInfo()
{
}
private string m_PageURL = "";
private string m_PageTitle = "";
public string PageURL
{
get { return m_PageURL; }
set { m_PageURL = value; }
}
public string PageTitle
{
get { return m_PageTitle; }
set { m_PageTitle = value; }
}
}
3.新建类:TopicInfoList,代码如下:
[Serializable]
public class TopicInfoList : System.Collections.ArrayList, System.ICloneable
{
public TopicInfoList()
{
}
private Hashtable m_IOInfoHash = new Hashtable();
public virtual int Add(TopicInfo info)
{
if (this.m_IOInfoHash.ContainsKey(info.PageURL))
return 0;
this.m_IOInfoHash.Add(info.PageURL, info);
return base.Add(info);
}
public new virtual void Clear()
{
this.m_IOInfoHash.Clear();
base.Clear();
}
}
4.新建 类History,用于历史记录有服务:
public class History
{
public History()
{
}
public static void AddHistory(TopicInfo info)
{
TopicInfoList oldlist = (TopicInfoList)HttpContext.Current.Session["History"];
if (HttpContext.Current.Session["History"] == null)
{
TopicInfoList list = new TopicInfoList();
list.Add(info);
HttpContext.Current.Session["History"] = list;
}
else
{
if (!oldlist.Contains(info))
{
oldlist.Add(info);
}
}
}
public static TopicInfoList GetHistory()
{
TopicInfoList oldlist = (TopicInfoList)HttpContext.Current.Session["History"];
if (oldlist != null)
return oldlist;
return new TopicInfoList();
}
public static int ClearHistory()
{
try
{
TopicInfoList list = History.GetHistory();
list.Clear();
return 1;
}
catch
{
return 0;
}
}
}
5.在网站项目中新建用户自定义控件:History.ascx,代码如下:
<%@ Control Language="C#" Inherits="IWMS_Plugin.HistoryHelp" %>
<script src="inc/jquery.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(function()
{
AddHistory();
getHistory();
});
function ClearHistory()
{
$("#btn_clear").val("正在删除...");
var callback=function(obj)
{
if(obj.value>0)
{
$("#HistoryList").html("");
}else{alert("清除失败");}
$("#btn_clear").val("清空历史记录");
};
IWMS_Plugin.HistoryHelp.ClearHistory(callback);
}
function AddHistory()
{
var callback=function(obj)
{
getHistory();
};
IWMS_Plugin.HistoryHelp.AddHistory(window.location.href,$("title").html(),callback);
}
function getHistory()
{
var callback=function(obj)
{
if(obj.value!=null)
{
$("#HistoryList").html(obj.value);
}else{alert("读取失败");}
};
IWMS_Plugin.HistoryHelp.getHistory(callback);
}
</script>
<style type="text/css">
#HistoryList,#HistoryList li{margin:0px;padding:0px;list-style:none;}
#HistoryList li a{display:block;padding:2px;border:1px solid #fff;margin:2px;text-decoration:none;}
#HistoryList li a:hover{background:#eeeeee;border:1px solid #ccc;}
</style>
<input type="button" value="清空历史记录" οnclick="ClearHistory()" id="btn_clear"/>
<ul id="HistoryList">
</ul>
5. IWMS_Plugin.HistoryHelp类代码如下:
public class HistoryHelp : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(HistoryHelp), this.Page);
}
[AjaxPro.AjaxMethod]
public static string getHistory()
{
StringBuilder sb = new StringBuilder();
TopicInfoList list = History.GetHistory();
foreach (TopicInfo info in list)
{
sb.Append(String.Format("<li><a href=\"{0}\" title=\"{1}\">{1}</a></li>",
info.PageURL,
info.PageTitle
));
}
return sb.ToString();
}
[AjaxPro.AjaxMethod]
public void AddHistory(string url,string title)
{
TopicInfo info = new TopicInfo();
info.PageURL = url;
info.PageTitle = title;
History.AddHistory(info);
}
[AjaxPro.AjaxMethod]
public int ClearHistory()
{
return History.ClearHistory();
}
}
大功告成!!系统演示请见:***
转载于:https://www.cnblogs.com/YrRoom/archive/2009/06/26/1511513.html
网奇iwms插件之“我浏览过的文章”相关推荐
- 爱奇艺视频有哪些插件?爱奇艺插件怎么卸载
是不是觉得爱奇艺视频占空间大,但是又不想卸载?是不是觉得爱奇艺有很多插件,那么怎么卸载爱奇艺插件呢?流星告诉你: 1.首先打开手机爱奇艺视频,然后在通知栏下方找到[我的]按钮,如图所示: 爱奇艺201 ...
- jQuery插件:超酷的多列网格式拖放插件gridster.js
为什么80%的码农都做不了架构师?>>> 日期:2012-8-15 来源:GBin1.com 在线演示 本地下载 以往的文章中,我们分享了很多jQuery相关拖放插件,今天 ...
- angularjs封装bootstrap官网的时间插件datetimepicker
背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经 ...
- 网易云音乐插件现已登陆 Visual Studio Code
摘要: 听着音乐写代码- 作者:Fdyo 原文:网易云音乐插件现已登陆 Visual Studio Code Fundebug经授权转载,版权归原作者所有. Visual Studio Code 插件 ...
- VScode VSC Netease Music(网易云音乐)插件
VScode VSC Netease Music(网易云音乐)插件 一.安装: 打开VScode右侧安装插件按钮 输入VSC Netease Music搜索 ,点击安装. 二.运行 F1或者ctrl+ ...
- QT调用IE浏览器COM插件完成网页浏览
一.可用的嵌入式浏览器方案 QT在5.6之前可以webkit浏览器框架访问网页,在之后就去掉了webkit,加入了QWebEngineView框架,但是QWebEngineView只能支持VS编译器, ...
- 网站系统之咨询(网奇行业门户)(如此做法怎么能对的起“中国建站第一品牌”)
从网上搜索到网奇行业门户建站系统.从网奇的口号"中国建站第一品牌"来看,很好的公司,看了一下行业网站的 DEMO 链接,感觉还不错. 经过咨询 , 销售人员开始说可以的 , 您是第 ...
- 代码发芽网:无需插件支持Blog代码高亮,支持近百种编程语言
写博客时,没有代码高亮? 发邮件时,代码格式很乱? 有好代码,保存后很难找? 代码发芽网: 无需插件支持Blog代码高亮 支持近百种编程语言 多种配色主 ...
- xiuno开发文档_大白 · TinyMCE编辑器v1.9_Xiuno Plugin_奇狐插件商店_奇狐网
功能强大,所见即所得的富文本编辑器,本地部署速度快,附带Prism代码高亮插件,支持截图粘贴和手动上传图片,还可以编辑源代码. 版本说明 版本内容更新时间 1.0 版本初始化版本2020-03-14 ...
- 待办事项桌面插件_让浏览器重获整洁——标签页管理插件:OneTabOneTab PlusToby...
1 什么是标签页管理插件 chrome浏览器虽然为用户提供了一个非常方便的打开新标签页的方法,但是随着用户浏览网页的时间增长,用户在一个chrome窗口中打开的标签页会越来越多,当这些标签页过多的时候 ...
最新文章
- 高并发下秒杀商品,你必须知道的9个细节
- 科技部部长:院士头衔不是学术不端挡箭牌、铁帽子!已有多位院士及候选人、校长、教授等被“拿下”...
- python实现一个简单的加法计算器_Python tkinter实现简单加法计算器代码实例
- FAT AP和FIT AP 区别 (无线篇)
- 在Linux系统下生产者消费者,生产者-消费者问题实现 (linux下C语言)
- Laravel中数据库的操作
- 百度Q2智能云增长强劲;据悉史上最大 AI 芯片诞生!中兴与奇瑞成立合资公司一起加快开发5G汽车……...
- html中ng-src,angular项目中,ie中iframe动态的ng-src,如果是路由的地址(带有#的url),页面不显示,googel却正常...
- redhat 登录不慢 传文件很慢
- bash的基础特性(一)
- php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据
- 20165218 《网络对抗技术》Exp0 Kali安装 Week1
- 绘制北京市蜜雪冰城门店地图
- 深圳神州行今日起单向收费 零月租成套餐亮点
- FlashPaper的安装以及基本使用
- 最新TIOBE编程语言排行:C语言第一,Python反超Java,挤进第二
- 11月书讯(下) | 拿下这些新书,赢在起跑线
- 新手做头条号短视频,这三大点要牢记,让你少走弯路,抓紧收藏
- 阿里云吴翰清:从技术人转型做产品经理是一种什么样的体验
- PHP工厂模式的好处
热门文章
- 清北中科院12位大咖联手,带你入门AI热门领域NLP!限时只需199
- 【推荐系统】那些年, 引用量超1000的经典推荐系统论文
- 【关系抽取】从文本中进行关系抽取的几种不同的方法
- 收藏 | NLP论文、代码、博客、视频资源(LSTM,指针模型,Attention, ELMo,GPT,BERT、多任务学习等)...
- 深度学习2.0-24.过拟合与欠拟合
- 深度学习花书-3.8 期望、方差与协方差
- 一文掌握 Docker 技术体系
- 从Google到Facebook再到微博,算法与数据中台大咖谈
- 如何选择合适的网站程序
- 《linux核心应用命令速查》连载八:kill:杀掉进程