惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
F
Fortinet All Blogs
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
Jina AI
Jina AI
J
Java Code Geeks
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
美团技术团队
博客园 - 司徒正美
宝玉的分享
宝玉的分享
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 蒜头

Mailbox unavailable. The server response was: 5.7.1 Unable to relay for (email address). 再谈Images到xps,pdf的转换 SQL Server 2005中xml类型和函数的简单应用 部分Office 2007文件格式转换为xps和pdf代码整理 Image.FromFile gives "Out of Memory" Exception for icon - 蒜头 简单介绍PDF,XPS,Images,Office 2007之间的转换方法 - 蒜头 - 博客园 SQL 2005 全文检索(续) 简单实现C#生成Excel 2007文件并下载 简单应用ReportViewer控件 配置SQL Server Session方法 采用负载均衡,部署了两个ASP.NET 2.0的站点服务器碰到的问题 初试VSTS 2008(TFS安装) Windows Server 2003分区修改方法[转载] 制作VSTO 2005 SE开发的Office 2007 AddIn的安装包 VS 2005 SP1 安装错误 [续] 一个简单的Checkbox Custom Field Type ASP.NET 2.0 SQL Cache 配置方法 解读Document Library关于权限的对象模型 SharePoint应用AJAX.NET和AJAX Control Toolkit
一个简单的document library event handler
蒜头 · 2007-08-18 · via 博客园 - 蒜头

这是一个简单的eventhandler,就是在document lirary中Insert和Update一个Item时,更改一个Field的值为这个文件的URL.
编写doucment library的eventhandler需要继承IListEventSink 接口
代码如下:

 1    public class DocumentLibraryEvent : IListEventSink 
 2    {
 3        IListEventSink Members
31    }

这段代码很好理解,判断是Insert和Update并且包含这个字段,然后获取url修改field的值。
下面这段代码主要为解决新建一个文档时,去修改Selected字段值,抛出被checkout的异常。
这段代码来自Jan Tielens' Bloggings

1
2                    while (file.CheckOutStatus != SPFile.SPCheckOutStatus.None)
3                    {
4                        System.Threading.Thread.Sleep(1000);
5                        file = web.GetFile(listEvent.UrlAfter);
6                    }


这段代码可以实现需求,但是总感觉不美。
似乎是应该这样去修改:
listEvent.PropertiesAfter[colName] = urlVal;
但我尝试了,没有作用!

部署:
1)首先,要打开document library的enventhandler,在central administration->Application Management
->Web Application General Settings
找到想要更改的Web Application,设置

2)把编译后的dll放入GAC
3)到一个想添加事件的document library->Settings->Advanced Settings添加程序集和类