2008-12-01 19 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表單。

親切的問候,

相關問題