SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。 用SharePoint代码加实施的方式,完成类似人人网站内信功能,当然,实现的比较简单,样式也比较难看,只为给大家一个实施的简单思路,如有谬误,还请见谅。当然,还有就是截图比较长,当然为了让大家清晰了解每一步,并不是博主啰嗦,事先声明。 一、展示效果一,李四发送站内信给张三: 1、李四发站内信,给张三,如下图所示: 2、发送完毕后,查看李四的收件箱,为空,如下图: 3、发送完毕后,查看李四的发件箱,有李四给张三发送的站内信,如下图: 4、切换账号,张三登陆,查看右上角登录信息,张三;右上角有一天未读信息提示,是个WebPart,把鼠标放在上面,看到状态栏有链接,是查看站内信的链接,点击进入; 5、进入收件箱,发现张三的收件箱里,有李四发给张三的站内信,如下图: 6、进入发件箱,发现没有任何站内信,如下图: 7、切换回来收件箱,然后点击那条收到的站内信,如下图: 8、点击查看站内信,站内信的标题、内容、接受者、发送者、是否阅读,样式有点难看,其实可以稍微美化下,时间仓促,也没做,凑合见人吧,如下图: 9、查看以后,返回http://mytravels/SitePages/MyMessage.aspx页面,发现阅读过的那条信息,上面的加粗没有了,如下图(对比7,可能看不很清楚,可以点击大图): 二、展示效果二,张三发送站内信给联系人组 1、发送站内信,Receiver接受者输入联系人组“联系人”,如下图; 2、特别说明,联系人组,有张三和李四两个人,如下图: 3、站内信发送完毕后,张三的站内信收件箱有一条新站内信,因为他也在联系人组,如下图: 4、张三查看自己的发件箱,只有刚刚发送给联系人组的站内信,如下图: 5、切换李四账号,进入首页,发现提示有一条站内信,如下图: 6、进入收件箱,看到张三发给联系人组的站内信,如下图;至此,张三发给联系人组的站内信,张三、李四都收到了; 三、结构简单介绍 有两张列表,一张是发件箱,一张是收件箱如下图介绍: 1、 发件箱列表,如下图所示,包括字段标题、内容、收件人(用户/用户组) 2、收件箱列表,通过Sender字段(类型:用户/用户组),确定这条站内信是谁的 原理简介: 发件箱里每加入一条信息,通过一个事件触发器来发送站内信,如果是用户,就往收件箱里add一条Item,sender字段就是收件人;如果是用户组,就把用户组里的人员读出来,往收件箱里为每个用户add一条Item。 发件箱创建一个视图,就是创建者=本人,也就是所有登陆用户发送的站内信,都显示出来了;收件箱通过一个WebPart进行展示,把所有Sender字段是登陆用户的,全部显示出来,如果IsRead是否阅读字段为否,也就是没有阅读的,加粗显示,IsRead是否阅读字段为是,也就是已经阅读的,正常显示。 然后,在阅读页面上,添加一个WebPart,功能是每当登陆用户点进去查看这个站内信,就用Item.SystemDate()把是否阅读字段,更新为是,也就是已经阅读,这样,返回站内信列表的时候,加粗显示就会消失。 首先的站内信提示,是读取Sender==本人,且是否阅读为否,也就是登陆账号没有阅读的站内信数量,通过Div浮动显示在右上角,加关闭js脚本实现。 四、示例代码: 1、 解决方案结构,如下图所示: 2、发件箱的事件触发器代码
3、收件箱展示代码:
4、修改站内信为已读代码
5、首页未读站内信提示代码
五、博主感言 利用半天的时间,实现这样一个功能,感觉这也是SharePoint比较方便的地方,简单的代码开发,页面定制,完成一个小功能,效率也不算很低。当然,我不是贬低net或者其他开发,笔者对于每一项技术,都很尊重。 在SharePoint的开发中,最大的感触就是无代码开发和代码开发相结合,这就需要我们对SharePoint现有功能的熟练掌握,和对于SharePoint平台的理解,当然,笔者从事SharePoint时间也不是很长,每个人都有自己的局限性,在利用业余时间,做点小东西共享给大家,一起学习探讨SharePoint,是一件乐事。 特别地说,实施过程由于时间仓促,代码写的比较简单,更多为了实施功能,很多需要注意的地方,都没有考虑太多;再有就是对于列表性能方面,也没有涉及太多考虑,只是给予大家一个简单思路,如有参考,慎行。还有,就是每个人的技术不一样,如果觉得本文过于简单请绕行,老鸟勿喷,谢谢。 Sharepoint 可以帮助企业用户轻松完成日常工作。 |
温馨提示:喜欢本站的话,请收藏一下本站!