eventhandler的三个问题

alanzhou 2008-11-27 05:31:50
1.document library中的folder 有没有added, updated 事件可写?
2.document library中在"Explorer view"视图中,做copy pastes动作,是不是没法触发itemadded 的eventhandler?
3.我在itemupdated 方法中用到了item.update(), 结果发现 itemupdated方法被多触发了9遍。怎么解决这个问题?
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
virusswb 2008-12-04
  • 打赏
  • 举报
回复
要不然它会做很多遍的
sharepoint这种垃圾
我觉得它很是不爽啊
virusswb 2008-12-04
  • 打赏
  • 举报
回复
1.document library中的folder 有没有added, updated 事件可写?
可以判断添加和修改的是不是folder

要禁用它内部的事件触发
alanzhou 2008-12-01
  • 打赏
  • 举报
回复
奇怪,怎么upload文档后直接跳到编辑页面!
alanzhou 2008-11-28
  • 打赏
  • 举报
回复
又自己找到方法了
加DisableEventFiring();
update()后
EnableEventFiring();
apengoffice 2008-11-28
  • 打赏
  • 举报
回复
1.itemAdd 当你override时,在执行的时候,如果item["title"] = 'add' 此时的title 并不为add,而是为初始的默认值,一般为空,

当执行到item.updated()的时修改,就是个更新操作,此时的title = updated,而且还会执行你的override的 itemUpdata
所以完成之后就为title = updataupdata (可能不止两个,没测试过,但你做.update()操作的时候,你写的 itemUpdated是一定会触发的..当中你可能还写了itemupdating等事件)

此时的itemUpdated被触发的时候又会执行到里面的item.update(); 所以还会再触发一遍,...所以出现了你这样的10个.

我也一样,我写个添加,再写个更新,结果总会显示为更新操作..就是因为调用到了item.update();你可以写个判断,是添加的话就为添加,是更新就为更新
alanzhou 2008-11-28
  • 打赏
  • 举报
回复
1,2已知道,都是可以实现的。

现在问题,我用了itemadded 和 itemuodated 两个event.
在itemadded 中用了item.update(),结果发现在页面上new 一个item后,itemadded ,itemupdated 都被执行了。
在itemupdated 中如果写 item["title"] += "updated";item.update(); 就会发现 title后面一下出现10个updated.

怎么会这样?觉得不应该阿,这种情况MS没考虑? 我应该怎么写来避免这样的情况?

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧