2015-04-02 84 views
0

我正在檢索從活動目錄到SharePoint的用戶詳細信息。如何在執行方法內調用函數?

我想在我的中調用下面的這兩個函數public override void Execute(Guid targetInstanceId)方法,但我已經嘗試了很多,仍然無法弄清楚它的方式。

public static IList<LdapUser> GetUsersFromActiveDirectory(string connectionString) 
    { 
     some codes here 
    } 



public void SaveActiveDirectoryUsersToSharePointList(IList<LdapUser> ldapUsers) 
    { 
     some codes here 
    } 

我想要做的函數調用,以便它可以顯示從活動目錄到SharePoint列表[LDAPUsers]的用戶詳細信息。

以下代碼不正確。它顯示了SPListItem有一些無效的參數。 我明白,無效論點的問題發生了,但我無法找出任何其他方式來做功能調用。或者我不應該在SPListItem裏面做?

public override void Execute(Guid targetInstanceId) 
    { 
     SPWebApplication webApp = this.Parent as SPWebApplication; 
     SPList taskList = webApp.Sites[0].RootWeb.Lists["LDAPUsers"]; 
     SPListItem newTask = taskList.Items.Add(SaveActiveDirectoryUsersToSharePointList(GetUsersFromActiveDirectory(connectionString))); 
     newTask.Update(); 
    } 
+0

什麼實際問題? 「它不起作用」不是一個好問題陳述。 – 2015-04-02 18:00:27

回答

0

(不知道你實際上在做你的職責是什麼,這並不重要,在這裏我想)你的代碼試圖設置SPListItem對象等於一個SPList對象,它不能做。可以刪除「SPListItem newTask =」,只需運行方法taskList.Items.Add(然後傳入該項目所需的任何參數)。

This MSDN文章有創建單個列表項的完整方法。

不管什麼您的自定義功能在做什麼,你可能想

1)查詢數據成某種列表或數組(因爲它似乎你做GetUsersFromActiveDirectory)

2)訪問SP列表項集合/ SP列表(如你TASKLIST所做的那樣)

3)通過列表/陣列循環從步驟1, a)創建從列表/陣列映射數據的各個列的新列表項 b)中到項目的值(即newTask [「Title」] = TextBox2.Title) c)加入列表項列出集合/列表

4)添加/提交值列表(即單獨或集體通過.update())

相關問題