背景:
老板对document library提出了个新的要求, 希望在上传document后的表单中owner的默认值为当前上传的人.
分析:
要实现该功能, MS只能通过Event handle的方法实现了.
实现:
1. 在central administration中启动Event handle功能, application management - web application general settings , 在web application列表中选择你需要启动该功能的网站, 然后在backward-compatible event handlers中选择on 选项. 如图:
2. 进入到document library, settings - document library settings , 选择advanced settings, 在backward-compatible event handler表单中输入assembly name , class name 和 properties的内容, 如图:
其实第二步的内容是关于dll的内容.
3, 关于编译后的dll, 我把它放在C:\WINDOWS\assembly, 应该放在Bin也可以的, 然后修改web.config 中关于<SafeControls> 就可以了.
代码:
实现该功能需要完成IListEventSink接口




















































后记:
实现的过程中, 有一些感觉不是很清楚, 比如取currentUser居然为null , 还有其他一些很常用的变量都是null的 , 明显的有值! 搞不清楚.
关于Event handler参考MSDN: http://msdn2.microsoft.com/en-us/library/ms916857.aspx