2011-11-02 32 views
1

我正在SP Designer 2007中開發批准工作流程。我需要一個表單字段,以允許用戶驗證他們是否已將Active Directory中的工作電子郵件地址輸入到一個表單域。 (這將是用戶主管批准批准的電子郵件地址 - 如果此電子郵件地址錯誤,則整個過程出軌)。我認爲它可以像電子郵件表單中的地址簿按鈕一樣工作。或者更好的是,像檢查名稱按鈕,只是檢查當前輸入的電子郵件地址,並通過強調它或其他視覺提示驗證它。Sharepoint Designer 2007 - 帶有地址簿按鈕的表單字段

看起來像一個明顯有用的行爲 - 我必須失去一些東西 - 我是新來的SP。謝謝!

回答

0

您是否可以不使用當前用戶用戶名運行LDAP查詢,獲取用戶「經理」字段。用它來獲取經理的電子郵件地址。

這樣,用戶只有在明確希望別人的情況下才會覆蓋電子郵件地址。

這裏是一個小代碼,以幫助你做一個LDAP查詢

using System.DirectoryServices; 
//DirectoryEntry de = new DirectoryEntry("LDAP://wel0101"); 

    DirectoryEntry de = new DirectoryEntry(); 
    DirectorySearcher deSearch = new DirectorySearcher(de); 
    //deSearch.PropertiesToLoad.Add("Email"); 

    SearchResultCollection results; 
    deSearch.SearchScope = SearchScope.Subtree; 
    deSearch.Filter ="(&(objectClass=user)(cn=bacchu*))"; 
    //deSearch. 
    results = deSearch.FindAll(); 

    foreach (SearchResult result in results) 
    { 
     ResultPropertyCollection props = result.Properties; 
     richTextBox1.Text += "------------------------\n"; 
     foreach (string propName in props.PropertyNames) 
     { 
      richTextBox1.Text += propName + ":\"" + props[propName][0] + "\"\n"; 
     } 
    } 

    richTextBox1.Text += "Done" + DateTime.Now.ToString() + "\n"; 
+0

難道就沒有開箱即用的解決方案嗎?我已經被客戶問過,以避免編寫任何自定義代碼,而是找到一種完全由Designer 2007處理而無需手動編碼的方法。 – rgalpin

相關問題