JSON实现桌面可移动的小便签

  大多数的管理系统都会有个主程序的桌面,而且上面放置了一个常用的快捷方式或便捷的信息,比如邮件,通知,即丰富了系统内容又能够使用户在第一时间内浏览的信息。

    跟XML相比,JSON的优势在于格式简洁短小,生成后的数据大小改变不大,且易于处理。特别是在处理大量复杂数据的时候,这个优势便显得非常突出。从各浏览器的支持来看,XML需要DOM来解析,而不同浏览器厂商的支持的XMLDOM又有所不同,这给WEB开发者或多或少带来不少困难,特别是在AJAX被大家普遍使用来后,不少开发者都不是返回XML,而是返回HTML片断或是其他格式的系列化串,除非产品仅限使用IE时在必要的时候才会使用XML来传输。JSON则没有这方面的问题,它不需要另外的解释器,得到了大多数语言和浏览器的支持,应用非常广泛。这些使得JSON在WEB开发中拥有巨大的优势。Digg,Yahoo等等大型网站便是采用JSON来进行数据传输的。<摘自于百科知识>

  首先建立一个....ashx后缀的文件,ashx 文件用于写web handler的,这个文件类似于.aspx文件,可以通过它来调用HttpHandler类,从而免去了普通.aspx页面的控件解析以及页面处理的过程,我们就建立一个GetOAJournal.ashx 的文件,处理工作简报信息。一般处理程序包含了ProcessRequest()方法,

IList<FDA.OA.Model.OAInformation> list = bll.GetOAInformationByWhere(strWhere);

StringBuilder sb
= new StringBuilder();
sb.Append(
"[");
for (int i = 0; i < list.Count; i++)
{
if (i > 0)
sb.Append(
",");
string ProcessUrl = string.Format("../OA/OAInformation/OAJournalView.aspx?OAPubId={0}&PvId={1}", list[i].OAPubId, list[i].OAPubTypeId);
sb.AppendFormat(
"{{\"Title\":\"{1}\",\"CreateDate\":\"{3}\",\"ProcessUrl\":\"{4}\"}}", list[i].OAPubId, StringUtil.PadRight("[" + list[i].OAPubTypeName + "]" + list[i].Title.Replace("'", ""), 25), list[i].Publisher.Trim(), ParameterFilter.GetDate(list[i].CreateDate, "MM-dd"), ProcessUrl, DateTime.Now.AddDays(-7) > Convert.ToDateTime(list[i].CreateDate) ? "" : "true");

}
sb.Append(
"]");
context.Response.ContentType
= "text/json";
context.Response.Write(sb.ToString());
写好了一般处理程序后,我们开始写JS了,新建立一个desktopBox.js文件,这个文件包含了所有的桌面选项,如果以后加其他的内容,都可以在这里进行拓展,
function LoadOAJournalBox(fdaId,pvId,NoticeInformationContainer, NoticeInformationLoadTooltip){
$.getJSON(
"../OA/Desktop/GetOAJournal.ashx?f="+fdaId+ "&p=" + pvId ,function(json){
// 获取显示内容
var ul = document.getElementById(NoticeInformationContainer);
var div
= document.getElementById(NoticeInformationLoadTooltip);

if(json.length == 0){
desktopBox.setOAJournal(ul,json);
div.style.display
= "none";
}
});
}

desktopBox.setOAJournal
= function(ulContainer, json){
var li, a, span,img, em;
for (var i = 0; i < json.length; i++) {
li
= document.createElement("li");

//增加链接
a = document.createElement("a");
a.className
= 'leftpadding';
a.setAttribute(
"href", json[i].ProcessUrl);
// 添加属性,通知预览重新打开窗口
a.setAttribute("target",'_blank');

a.title
= json[i].Title + "\n发布时间:" + json[i].CreateDate;
this.setInnerText(a, json[i].Title);
li.appendChild(a);

//增加span
span = document.createElement("span");
span.className
= 'rightpadding';
this.setInnerText(span, "" + json[i].CreateDate + "");
li.appendChild(span);



ulContainer.appendChild(li);
}

};
相关的处理程序都写好以后,开始调用这个方法来展示数据了,由于页面上可能存在许多的可配置信息框,所有在次展现页面使用用户控件,

前台:

转载于:https://www.cnblogs.com/gaowenbin/articles/1986458.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux常用特殊符号

在shell中常用的特殊符号罗列如下&#xff1a; $ ${} $? $$ $* $# $ command{} [] [[]] () (()) ; 分号 (Command separator) 在 shell 中&#xff0c;&#xff1b;主要用来在一行中运行一条或者多条指令。 ;; 连续分号 (Terminator) 专用在 case 的选项&#xff0c;担任 T…

win7普通家庭版硬盘分区

我以前对电脑很多东西的概念也没有&#xff0c;但是自己选择了网络工程这个专业&#xff0c;那就得对它负责。自己买了个手提电脑&#xff0c;但是硬盘没有分好区&#xff0c;所以我自己开始查阅资料&#xff0c;完成了分区这个过程。 步骤一&#xff1a; 右击我的电脑选择管理…

Centos7制作局域网http的yum源

制作局域网http的yum源 1、下载安装包到本地&#xff0c;以下载vim软件包为例 yum install --downloadonly --downloaddir/opt/download vim 2、将安装包拷贝至局域网预先设置好的yum服务器 [rootlocalhost yum]# cd /opt/yum 进入到软件包所在文件夹 [rootlocalhost y…

[转]Vi/Vim查找替换使用方法

vi/vim 中可以使用 &#xff1a;s 命令来替换字符串。该命令有很多种不同细节使用方法&#xff0c;可以实现复杂的功能&#xff0c;记录几种在此&#xff0c;方便以后查询。     &#xff1a;s/vivian/sky/ 替换当前行第一个 vivian 为 sky     &#xff1a;s/vivian/sky…

awk入门

linux之awk文本处理入门 1、awk简介 awk是一种编程语言&#xff0c;用于linux下对文本和数据进行处理。数据可以来来自标准输入、一个或多个文件&#xff0c;或其他命令的输出。 更多作为脚本来使用。 awk处理数据的方式&#xff1a;逐行扫描文件&#xff0c;寻找匹配的特定…

[Advance] How to debug a program (上)

Tool GDB Examining Memory (data or in machine instructions) You can use the command x (for “examine”) to examine memory in any of several formats, independently of your programs data types. x/nfu addr x addr x n, the repeat count The repeat count is a de…

windows7系统安装更新补丁提示0x80240037错误如何解决,文件的后缀名怎么换?

作者&#xff1a;WYF 我们以 IE11-Windows6.1-KB3008923-x64.msu 补丁为例 1、首先我们把IE11-Windows6.1-KB3008923-x64.msu的后缀名msu改为cab&#xff0c;然后解压&#xff0c;注意解压到一个新的文件夹中&#xff0c;不要在本文件夹中解压&#xff08;例如&#xff1a;可以…

[转]C++中sizeof(struct)怎么计算?

版权属于原作者&#xff0c;我只是排版。 1、 sizeof应用在结构上的情况 请看下面的结构&#xff1a; structMyStruct{doubledda1;chardda;inttype;};对结构MyStruct采用sizeof会出现什么结果呢&#xff1f;sizeof(MyStruct)为多少呢&#xff1f;也许你会这样求&#xff1a;siz…

多核电脑的配件(CPU)

cpu CPU&#xff0c;全称中央处理器&#xff0c;既是电脑的指令中枢&#xff0c;也是系统的最高执行单位。 CPU主要负责指令的执行&#xff0c;作为电脑系统的核心组件&#xff0c;在电脑系统中占有举足轻重的地位&#xff0c;是影响电脑系统运算速度的重要部件。 cpu的基本信…

DELPHI怎样编写COM组件

元旦闲来无事,学习一下DELPHI怎样编写COM组件.结果一试才发现问题多多,要么是找不到接口,要么是找不到方法.查了很多资料,发现说的都不清楚.现在把我所学到的和大家分享一下,希望新学的人能少走弯路. 1、什么是COM COM是微软定的一种组件编写的规范,目的是为了实现组件的重用,不…

centos7利用nexus离线搭建局域网pypi源

centos7利用nexus离线搭建局域网pypi源 1、官网下载nexus oss版本 https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gz [rootlocalhost bin]# wget https://sonatype-download.global.ssl.fastly.net/reposit…

c++链表的操作

#include <iostream>using namespace std;class Item{public:friend class List;private:Item(int d0){datad;next0;}Item *next;int data;};class List{private:Item *list;Item *endl();public:List(){list NULL;}List(int d){listnew Item(d);}int print();//输出int …

从零搭建nginx服务器

本文开始从零搭建一个nginx网页服务器。 1.最小化安装linux&#xff08;web服务器需要纯净的环境&#xff09; 2.局域网环境&#xff08;环境限制&#xff0c;需要搭建本地包配置环境&#xff09; 3.配置安装nginx环境 1.搭建系统 物理系统:两台浪潮服务器&#xff0c;两台联…

解决wordpress无法离线发布(远程发布)的故障

使用wordpress mu3.0与3.1时&#xff0c;不知道什么原因&#xff0c;只要开户了WORDPRESS的MU选项&#xff0c;Zoundry Raven和Windows Live Writer就无法注册账户成功(之前在Zoundry Raven里建好的账号还能收发&#xff0c;但不能新建)。在Zoundry Raven上表现为&#xff1a;输…

vim最常用快捷键

Vim最常用快捷键 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy&#xff0c;并粘贴&#xff08;p&#xff09;。 删除当前行 dd , 删除当前行向下的 5 行 5dd 在文件中查找某个单词 [命令行下 /关键字 &#xff0c; 回车 查找 , 输入 n 就是查找下一个 ],查询 hello. 设置文件…

.NET中栈和堆的比较【转自:c#开发园地】

本文转自&#xff1a;C#开发园地 原文翻译的地址&#xff1a;http://www.cnblogs.com/c2303191/articles/1065675.html压栈(入栈)执行方法中的指令.NET中栈和堆的比较1 原文出处&#xff1a; http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM…

修改远程桌面的端口+防火墙设置

作者&#xff1a;WYF 修改远程桌面的端口防火墙设置&#xff08;最详细&#xff09; Windows系统中的远程终端服务是一项功能非常强大的服务&#xff0c;其默认的端口号3389很容易成为入侵者长驻主机的通道&#xff0c;使用户电脑成为通常称为的“肉鸡”&#xff0c;受入侵者远…

ppp和chap的区别

PAP和CHAP协议是目前的在PPP(MODEM或ADSL拨号)中普遍使用的认证协议&#xff0c;CHAP在RFC1994中定义&#xff0c;是一种挑战响应式协议&#xff0c;双方共享的口令信息不用在通信中传输&#xff1b;PAP在RFC1334中定义&#xff0c;是一种简单的明文用户名/口令认证方式。 2. P…

keepalived高可用+nginx负载均衡

keepalived高可用nginx负载均衡 1、IP地址规划 hostnameip说明KN0110.4.7.30keepalived MASTER节点 nginx负载均衡器KN0210.4.7.31keepalived BACKUP节点 nginx负载均衡器WEB0110.4.7.24web01节点WEB0210.4.7.25web02节点 2、关闭防火墙&#xff0c;selinux&#xff0c;并安装…

从几个版本的memcpy的测速过程学习一点底层的东西

以下有三个版本的memcpy&#xff0c;对于版本3&#xff0c;很多人都很熟悉&#xff0c;它很经典&#xff0c;很多人面试都写这个&#xff0c;可是我不得不说一句&#xff0c;对于类似的问题&#xff0c;最好的回答有两个&#xff1a;一是调用c库&#xff0c;二是使用汇编。用这…