2010-07-29 41 views
1

我剛開始使用Sharepoint設計器,並意識到可以做很多事情來擴展Sharepoint的基本功能。當創建新任務(由用戶創建)時,我們會發送電子郵件警報,並且我想自定義電子郵件,以便它還包含名爲「分配」的鏈接。點擊後,我希望此鏈接自動更新任務,併爲點擊該人員的人員分配了相應字段。在Sharepoint中,如何直接從電子郵件中的鏈接更新任務?

所以我認爲這樣做的方法是硬編碼的鏈接在這個鏈接後的url值,但我不知道這是可能的,或者如果有一個更簡單/更好的方式來做到這一點。

任何意見將不勝感激,因爲我是一個完整的初學者。

謝謝。

回答

1

我不會在這裏介紹「如何修改eamil警報的內容」,因爲這是一個單獨的問題,並且有很多文章已經涵蓋了。

所分配的鏈接: -

您需要爲您的指定鏈接的目標,以創建一個自定義頁面(或現有頁面上的Web部件) - 這將需要任務ID作爲查詢字符串PARAM然後用當前用戶更新分配給的。

你可以通過使用ListID來實現這個靈活性,但是你可能想要考慮如何濫用它並採取適當的措施。

編輯 - 迴應評論。

這是我的頭頂,未檢查編譯器。如果你想使用不同的服務器(你爲什麼會這麼做),那麼這個服務器就必須和SharePoint一樣使用服務器來使用OM,然後查看Web服務。

private void updateAssignedTo(Guid listId, int itemID) 
{ 
    SPWeb web = SPContent.Current.Web(); 
    SPList list = web.Lists[listId]; 
    SPListItem item = list.GetItemById(itemID); 
    item["Assigned To"] = web.CurrentUser; 
    item.Update(); 
} 

你將不得不解決如何得到這個代碼放到頁面或Web部件(SharePoint設計是不會削減它,我認爲,你需要的Visual Studio),但它的出發點。

+0

這聽起來正是我所追求的。我喜歡使用查詢字符串參數的自定義頁面的想法,但是當您說'更新分配的值'時,我該怎麼做?感謝您的幫助。 – HAdes 2010-07-29 10:00:54

+0

更新來自HTTP GET語句的數據(如自定義頁面和查詢字符串的情況)將使您受到跨站請求僞造攻擊。在繼續執行之前考慮風險。 現在,您可以通過要求用戶單擊自定義頁面上的確定按鈕來避免安全風險,這會導致在HTTP POST上進行更新。 – kbrimington 2010-07-30 05:09:02

+1

好的代碼片段。請注意,如果代碼在GET中處理,您將需要允許不安全的更新。請參閱http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.allowunsafeupdates.aspx。 – kbrimington 2010-07-30 05:13:01

相關問題