如何在Sharepoint博客站点中添加项目时捕获事件

时间:2009-10-07 13:35:36

标签: sharepoint visual-studio-2005 sharepoint-2007 validation

我已经尝试过Visual Studio Site Solution生成器来构建Sharepoint Site解决方案。

我的要求是在运行时使用某些条件验证博客条目。我想添加我之前提到的相同的Bad Keyword。

但Visual Studio Site Solution生成器无法为Blog Site创建解决方案并显示以下错误

  

解决方案生成器不支持此类型的网站定义

建议任何其他approch(如果有)。

它适用于讨论板库以及使用ListDefinition的自定义列表。但是,我无法在博客上做同样的事情。

4 个答案:

答案 0 :(得分:2)

正如Rubens Farias所说,你应该使用一个事件接收器,但我会尝试扩展这个过程。

您应该编写一个事件接收器来处理添加或更新博客条目时发生的事件。博客网站根据名为博客帖子列表的模板(模板ID为0x0110)将帖子存储在列表中。

知道这一点,我会:

  • 在Visual Studio中创建一个新项目(使用VSeWSS或WSPBuilder都可以工作)
  • 添加一个实现SPItemEventReceiver的类(这是“事件接收者”)
  • 使用您自己的实现覆盖ItemAddedItemAddingItemUpdated和/或ItemUpdating方法。根据您的要求,您可能不需要使用所有这些,并且您应该了解同步和异步事件之间的区别
  • 创建一个功能,使用Blog Post列表模板注册您的事件接收器(使用ListTemplateId 301)。

为了帮助您了解有关如何执行上述步骤的更多信息,建议您阅读以下内容:

答案 1 :(得分:1)

由于Sharepoint始终基于列表,我建议您检查SPItemEventReceiver.ItemAdded Method

答案 2 :(得分:1)

据我所知,解决方案生成器是“最佳尝试”,但由于涉及的复杂性,它并不总是有效。出于这个原因,我更喜欢使用诸如WSPBuilder之类的工具而不是VSeWSS,但它没有像解决方案生成器那样的功能。

如果您正在寻找改进的SharePoint博客引擎,为什么不试试Community Kit for SharePoint:Enhanced Blog Edition

答案 3 :(得分:0)

使用自定义Workflowsa custom Activity来完成您需要做的任何事情。