2008-12-01 24 views
1

对于每个添加到特定文档库的新文档,显示自定义表单的最佳方法是什么?在SharePoint 3文档库中的新项目事件上显示自定义窗体?

我希望用户能够对一些行动,加入该文件将导致一些控制 - 具体而言,在任务列表,其中贡献用户将必须确定提交之前用户创建的任务。

是通过工作流程还是事件处理程序执行此操作的最佳方法?

问候 武

回答

0

SharePoint Server 2007的:

一个专门的内容类型和事件处理程序会给你的过程中最大程度的控制(更容易调试太)的组合。工作流程最适合“简单”的行动,并且很难做出复杂的行动。

工作流程允许通过站点管理员将工作流程分配给不同库的灵活性更高。

将您的内容类型和事件处理程序放入可以部署的功能中。将内容类型分配给列表将允许您获取由标准表单创建的任何数据(请记住,您可以为真正复杂/自定义的数据输入创建自定义字段)并采取任何必需的操作,包括根据项目创建任务。

0

感谢您的回答,这就是我正在调查路线,但不幸的是我还没有找到一种方法,使之用于文档库的工作 - 只列出。

我遇到的问题是,在文档库中的ItemAdded,ItemAdding,ItemCheckingIn或ItemCheckedIn事件中添加SPUtility.Redirect根本不会执行任何操作,因为没有与事件相关的页面 - 它的所有后端代码被触发,并未链接到Web上下文,因为它不是在那个网站上做了繁重的工作,而是Office集成。

我遇到的所有例子似乎都依赖于EditForm.aspx或NewForm.aspx页面在事件触发时显示的事实,这当然不是这里的情况。

这也导致我不能延长EditForm.aspx或CheckIn.aspx页面做我想做的任何问题,因为Office 2007的规避这两种。

那么,剩下的唯一选择开到我此刻正在做它通过工作流:/

任何进一步的提示将是非常美妙的。

0

一个新的“内容类型”与其新的表单url设置为适当的值应该做的伎俩。 不幸的是,您可能无法通过事件处理程序或工作流实现您正在尝试的操作。理想情况下,只要用户将新项目添加到库中,并且自定义内容类型将执行该操作,就会显示该表单。

  1. 创建一个新的内容类型。 (从现有内容类型导出)
  2. 从文档库中删除默认内容类型。
  3. 使用对象模型将新建表单url设置为您创建的aspx页面或Infopath表单。

亲切的问候,

相关问题